编写Python程序:实现用户输入元素数量及值并计算总和
程序问题分析与修正
原程序存在的问题
- 循环中仅打印了序号,没有接收用户实际输入的元素值,无法获取用户想要计算的数值
- 求和部分错误地计算了从0到元素数量的整数和(
sum(range(num_ele + 1))),而非用户输入元素的总和 - 初始的
num_ele = 0属于冗余代码,后续已重新赋值
修正后的程序
我们可以通过两种方式实现需求:一种是直接累加输入值,另一种是先存储所有元素再求和,两种方式都能满足需求:
方式1:直接累加
# 要求用户输入元素数量,逐个输入元素值后返回总和 num_ele = int(input("Enter the number of elements: ")) total = 0 for i in range(num_ele): # 提示用户输入第i+1个元素,接收并转换为整数 value = int(input(f"Enter value {i+1}: ")) total += value print(f"Sum of all elements in given list is : {total}")
方式2:存储元素后求和
# 要求用户输入元素数量,逐个输入元素值后返回总和 num_ele = int(input("Enter the number of elements: ")) elements = [] for i in range(num_ele): value = int(input(f"Enter value {i+1}: ")) elements.append(value) total = sum(elements) print(f"Sum of all elements in given list is : {total}")
补充说明
- 如果需要支持小数输入,只需将
int()替换为float()即可 - 两种方式中,直接累加更节省内存,存储元素的方式便于后续对输入值进行其他操作(如排序、筛选)
内容的提问来源于stack exchange,提问作者Kurosh Sigari Avendano
相关产品推荐
相关产品推荐

