【问题标题】:Appending elements into nested lists with 12 user inputs使用 12 个用户输入将元素附加到嵌套列表中
【发布时间】:2015-01-12 08:16:19
【问题描述】:

我想将来自用户的 12 个输入附加到列表中,例如每个月,我希望用户输入一个值。但是我想让它在每次循环重新循环时将值添加到下一个根据列表。我也仅限于我可以用于我的任务。 以下是我目前的编码。

value_store = [[['Jan']],[['Feb']],[['Mar']],[['Apr']],[['May']],[['Jun']],[['Jul']],[['Aug']],[['Sep']],[['Oct']],[['Nov']],[['Dec']]]

def get_value():
    count = 0
    while count < 12:
        value = float(input('Enter a value between 0 and 2000: '))
        if value in range(2001):
              for k in value_store[:1]:
                    value_store[0].append(round(value,3))
                    count += 1
        else:
            print('Enter new value')
        print(value_store)
get_value()

上面的编码对其中一个列表进行了处理,并且循环了 12 次。 我想从列表中得到的结果是:

value_store = [[['Jan'],45],[['Feb'],54],[['Mar'],78],[['Apr'],97],[['May'],82],[['Jun'],74],[['Jul'],23],[['Aug'],23],[['Sep'],34],[['Oct'],54],[['Nov',12]],[['Dec'],120]]

上述值是用户在循环循环大约 12 次时输入的值。我希望以该格式将值插入到每个列表中,但是我对如何更改代码来做到这一点感到困惑。

【问题讨论】:

  • 这一行是语法错误:for k in range value_store[:1]:
  • 对不起,我刚刚编辑了它,现在它应该可以工作了,但还不是我想要的。
  • 你不需要value_store[value_count].append(round(value,3))吗?我不明白那个循环的目的for k in value_store[:1]:
  • 哇,这比我想象的要简单。我想我把自己弄糊涂了。谢谢。

标签: python list while-loop append range


【解决方案1】:

只是对代码的一些注释:

if value in range(101):

您应该检查 0

for k in range(value_store[:1]):

您遍历第一个元素并通过索引 0 对其进行寻址:

value_store[0].append(round(value,3))

所以不需要迭代。

这是一个工作示例:

value_store = [[['Jan']],[['Feb']],[['Mar']],[['Apr']],[['May']],[['Jun']],[['Jul']], [['Aug']],[['Sep']],[['Oct']],[['Nov']],[['Dec']]]

def get_value():
    global value_store
    for value_list in value_store:
        month = value_list[0][0]
        value = -1
        while not 0 <= value <= 100:
            value = float(input('Enter a value between 0 and 300 for {0}: '.format(month)))
        value_list.append(round(value, 3))
    print(value_store)
get_value()

【讨论】:

  • 对不起,我把那里的每个人都弄糊涂了,如果 range(101) 中的值:应该在 301 范围内。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-28
  • 1970-01-01
  • 2018-02-09
  • 2023-04-10
  • 2021-06-24
相关资源
最近更新 更多