Python入门问题:如何计算并输出≤用户输入数字的总和
解决方案
先调整代码里的两个小细节避免混淆:
- 函数名用
sum会覆盖Python内置的求和函数,建议改成calculate_sum - 循环变量和输入变量重名会覆盖输入值,换个变量名更清晰
方法1:手动累加求和
初始化一个存总和的变量,每次循环把当前数字加到这个变量里,最后输出结果:
def calculate_sum(): num = int(input("Give me a number ")) total = 0 for i in range(num): current_num = i + 1 print(current_num) # 保留你原来的打印功能 total += current_num # 把当前数字累加到总和里 print("总和是:", total) calculate_sum()
方法2:更直观的循环范围
直接让循环从1到输入数字(包含该数字),不用额外计算i+1:
def calculate_sum(): num = int(input("Give me a number ")) total = 0 for current_num in range(1, num + 1): print(current_num) total += current_num print("总和是:", total) calculate_sum()
方法3:利用Python内置sum函数
如果想简化代码,可以直接用Python内置的sum函数计算范围里的数字总和:
def calculate_sum(): num = int(input("Give me a number ")) number_range = range(1, num + 1) # 打印所有数字 for n in number_range: print(n) # 计算并打印总和 total = sum(number_range) print("总和是:", total) calculate_sum()
内容的提问来源于stack exchange,提问作者ProSchizo
相关产品推荐
相关产品推荐

