嘉兴大学Python期末冲刺01
Question 1
在考生目录下,要求程序 PROG1.P 的功能是:
根据下面的公式,求 s 的值。
部分源程序存在文件 PROGI.PY 中,请将运算结果存入变量 s 中。
1. Answer
s = 0
for i in range(2, 101): # 开始是 2,结束在 100
s += 1/(i*i)
print(s)
2. 思路
理解问题:我们的任务是求出数列 的和。可以看出这个数列实际上是每一项都是前一个整数的平方的倒数,从 2 的平方开始,直到 100 的平方。是不是不理解?我接下来好好给你解释:
在这个问题中,我们有一个数列 。你可以看到,每一项(也就是每一个加法的部分)都是一个整数的平方的倒数。"倒数"就是 1 除以那个数。比如 4 的倒数就是 ,9 的倒数就是 。
当我们说每一项是一个整数的平方的倒数时,我们是指:
- 第一项 是 2 的平方(即 4)的倒数。
- 第二项 是 3 的平方(即 9)的倒数。
- 第三项 是 4 的平方(即 16)的倒数。
以此类推,直到最后一项 ,它是 100 的平方(即 100*100)的倒数。
我们需要计算所有这些项的总和。这就是我们用循环来做的原因:我们可以从 2 开始,一直循环到 100,对每个整数,我们计算它的平方的倒数,然后加到总和上。
设计算法:我们可以使用一个循环来求解这个问题。我们初始化一个变量 s,这个变量将用于保存我们的结果。然后,我们遍历从 2 到 100 的所有整数。对于每一个整数,我们计算它的平方的倒数,然后加到 s 上。
编写代码:
# 初始化结果变量
s = 0
# 从2到100(包括100),遍历每一个整数
for i in range(2, 101):
# 对每一个整数,我们计算它的平方的倒数
term = 1/(i*i)
# 然后我们把这个结果加到s上
s += term
# 打印结果
print(s)
- 运行代码和检查结果:运行你的代码,检查输出是否正确。如果你看到一个浮点数,那就是 的值。
3. 涉及知识点
在 Python 中,for 循环是一种非常重要的控制结构。它可以让你对一系列元素进行相同的操作。下面是一个基本的 for 循环的结构:
for 变量 in 序列:
代码块
这个循环将会遍历序列中的每一个元素,并将每一个元素赋值给变量,然后执行一次代码块。序列可以是任何可迭代的对象,例如列表(list)、元组(tuple)或者字符串(str)等等。
举个例子,比如我们有一个列表,里面存储了一些数字:
numbers = [1, 2, 3, 4, 5]
我们可以用 for 循环来遍历这个列表,打印出每一个元素:
for number in numbers:
print(number)
这个程序将会输出:
1
2
3
4
5
在每一次循环中,number
变量都会被赋值为 numbers
列表中的一个元素,然后执行 print(number)
代码行。所以输出的就是列表中的每一个元素。
对于 for 循环,还有一个常用的用法是和 range()
函数一起使用。range()
函数可以生成一系列的数字。比如,range(5)
会生成一个包含 0, 1, 2, 3, 4
的序列。
比如我们要打印出 0 到 4 这 5 个数字:
for i in range(5):
print(i)
这个程序将会输出:
0
1
2
3
4
希望这些基本的例子能帮助你理解 Python 中的 for 循环。请你试着编写一些简单的 for 循环,以加深理解。有任何问题,都欢迎继续提问!
4. 类似题
根据下面的公式,求 s 的值。
部分源程序存在文件 PROGI.PY 中,请将运算结果存入变量 s 中。
Question 2
输入一组数(以逗号分隔),去掉一个最大值和一个最小值,求剩余值的平均值。
例如输入:1,2,3,4,5
输出结果为:3.0
1. Answer
def average_exclude_max_min():
nums = input("请输入一组数(以逗号分隔):")
num_list = [int(num) for num in nums.split(",")]
# 去除一个最大值和一个最小值
num_list.remove(max(num_list))
num_list.remove(min(num_list))
# 计算剩余数值的平均值
avg = sum(num_list) / len(num_list)
print("去掉一个最大值和一个最小值后的平均值为:", avg)
average_exclude_max_min()
# 输入一组数,字符串类型,以逗号分隔
nums_str = input("请输入一组数(以逗号分隔):")
# 使用 split 方法将字符串转换为列表,列表元素为字符串类型
nums_str_list = nums_str.split(',')
# 使用列表推导式将列表元素转换为整数类型
nums_int_list = [int(i) for i in nums_str_list]
# 排序
nums_int_list.sort()
# 去掉一个最大值和一个最小值,使用切片实现
nums_int_list = nums_int_list[1:-1]
# 计算平均值
avg = sum(nums_int_list) / len(nums_int_list)
print("去掉一个最大值和一个最小值后的平均值为:", avg)
2. 思路
获取并处理输入:这个问题要求你输入一组以逗号分隔的数。在 Python 中,可以使用
input()
函数来获取用户输入的字符串。然后你需要把这个字符串转换为一个包含数的列表。可以先使用字符串的split()
方法来得到一个包含字符串形式的数的列表,然后使用列表推导式来把这个列表中的每一个元素转换为整数。找出并去除最大值和最小值:一旦你有了这个整数列表,你就可以使用 Python 的
max()
和min()
函数来找到列表中的最大值和最小值。然后使用列表的remove()
方法来去除这两个值。这个方法会删除列表中第一个出现的指定值。计算剩余值的平均值:最后,你可以使用 Python 的
sum()
函数和列表的len()
方法来计算剩余值的平均值。把列表中所有值的和除以列表中值的数量,就可以得到平均值。
现在你应该对如何解决这个问题有了更清晰的理解。我会给你提供一个详细的 Python 代码示例,以帮助你更好地理解这个过程:
# 步骤1:获取并处理输入
nums_str = input("请输入一组数(以逗号分隔):") # 获取输入的字符串
nums_str_list = nums_str.split(',') # 把字符串转换为字符串列表
nums_int_list = [int(i) for i in nums_str_list] # 把字符串列表转换为整数列表
# 步骤2:找出并去除最大值和最小值
max_value = max(nums_int_list) # 找到最大值
min_value = min(nums_int_list) # 找到最小值
nums_int_list.remove(max_value) # 去除最大值
nums_int_list.remove(min_value) # 去除最小值
# 步骤3:计算剩余值的平均值
avg = sum(nums_int_list) / len(nums_int_list) # 计算平均值
# 打印结果
print("去掉一个最大值和一个最小值后的平均值为:", avg)
Question 3
統计字符串中的所有小写字母的个数并输出:
例如,当字符串为 “This Is a Python Program”
输出:16
1. Answer
def count_lowercase_letters(input_string):
count = 0
for char in input_string:
if char.islower():
count += 1
return count
input_string = "This Is a Python Program"
print(count_lowercase_letters(input_string))
2. 思路
我们将按照以下步骤来统计一个字符串中的小写字母数量:
- 创建一个变量 count,初始值为0,用于保存小写字母的数量。
- 遍历输入字符串中的每一个字符。
- 检查当前字符是否为小写字母,如果是,就让 count 的值增加1。
- 遍历完成后,count 的值就是字符串中的小写字母数量。
下面是详细注释的代码:
# 定义一个函数,输入参数是一个字符串
def count_lowercase_letters(input_string):
# 初始化一个变量count为0,用来计数小写字母的数量
count = 0
# 对字符串中的每一个字符进行遍历
for char in input_string:
# 如果当前字符是小写字母
if char.islower():
# count值加1
count += 1
# 遍历完成后,返回小写字母的数量
return count
# 测试的字符串
input_string = "This Is a Python Program"
# 调用上面定义的函数,并将结果打印出来
print(count_lowercase_letters(input_string))
Question 4
输入一个正整数,求其质因子,输出的质因子间隔 2 个空格。
例如:
输入一个正整数:
90
该数的质因子有:
2 3 3 5
1. 先搞清楚定义
质数是一个自然数,它大于 1 且除了 1 和它自身以外,不能被其他自然数整除。换句话说,质数只有两个因子,1 和它自身。
例如,数字 2,3,5,7,11,13,17,19,23,29,31等都是质数。
例如,我们来看看 7,它只能被 1 和 7 整除,无法被 2-6 之间的任何数字整除,所以它是质数。
公众号:AI悦创【二维码】
AI悦创·编程一对一
AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++ 辅导班、java 辅导班、算法/数据结构辅导班、少儿编程、pygame 游戏开发、Web、Linux」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。当然,还有线下线上摄影课程、Photoshop、Premiere 一对一教学、QQ、微信在线,随时响应!微信:Jiabcdefh
C++ 信息奥赛题解,长期更新!长期招收一对一中小学信息奥赛集训,莆田、厦门地区有机会线下上门,其他地区线上。微信:Jiabcdefh
方法一:QQ
方法二:微信:Jiabcdefh
- 0
- 0
- 0
- 0
- 0
- 0