如何使用Python的for循环获取多组输入并存储以用于数学公式计算?
解决用for循环获取多个输入并存储的问题
你的原代码存在逻辑问题:循环条件用了range(x),但循环体里又把x重新赋值为输入的整数,这会覆盖原本代表「要输入的数量」的x,而且循环次数在开始时就已确定,后续修改x不会改变循环次数,导致逻辑混乱。
正确的做法是用列表存储所有输入值,列表可以动态添加元素,不管你要获取多少个输入都能轻松处理,具体步骤如下:
- 先获取你需要输入的数值个数
- 创建一个空列表,用来存放每次输入的整数
- 循环对应次数,每次读取输入并转为整数,添加到列表中
- 之后就可以通过列表索引访问单个值,或者对列表做批量计算
示例代码:
# 先输入要获取的数值个数 count = int(input("请输入需要的数值个数:")) # 初始化空列表存储输入 numbers = [] for _ in range(count): num = int(input("输入一个整数:")) numbers.append(num) # 计算示例: # 所有数的总和 total = sum(numbers) print(f"总和:{total}") # 所有数的平均值 average = total / count print(f"平均值:{average}") # 访问单个元素(索引从0开始),比如第一个数乘第二个数 if count >= 2: product = numbers[0] * numbers[1] print(f"前两个数的乘积:{product}")
为什么不用单独的变量(比如a、b、c...)?因为如果输入数量是动态的(比如用户要输入10个值),你不可能提前创建10个变量,列表是更灵活、更易维护的方案。
内容的提问来源于stack exchange,提问作者sth01020304
相关产品推荐
相关产品推荐

