【问题标题】:Why does my While loop omit the last input and adding a 0 in the list?为什么我的 While 循环会省略最后一个输入并在列表中添加一个 0?
【发布时间】:2022-12-04 01:33:24
【问题描述】:

我想建立一个程序,连续 7 天每天记录 cm 的降雨量,然后输出这些天的总降雨量和平均降雨量。

最初,我创建了一个 while 循环来获取输入:

rainfall = 0
rain = []
counter = 1

while counter < 8:
    rain.append(rainfall)
    rainfall = float(input("Enter the rainfall of day {0}: ".format(counter)))
    counter += 1
print(rain)

但是生成的输出不是我所期望的:

[0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0]

它将输入一个 0 作为第一个值,然后省略最后一个输入(这里以输入 1 到 7 为例)

【问题讨论】:

  • rain.append(rainfall)应该是输入
  • 为什么在用户输入任何内容之前将 rainfall 值附加到列表中?

标签: python list


【解决方案1】:

你的第一行:

rain.append(rainfall)

此时降雨量是您之前设置的值:

rainfall = 0

而你的时间是为了数字

1, 2, 3, 4, 5, 6, 7

因为那些是整数&lt; 8

【讨论】:

    猜你喜欢
    • 2018-02-18
    • 2020-02-16
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2011-06-17
    相关资源
    最近更新 更多