繁体   English   中英

如何存储元组并继续要求用户输入更多值,直到用户输入“完成”?

[英]How to store tuples and continue to ask the user to input more values until user inputs 'done'?

因此,任务是创建一个元组列表,其中存储了运行日期,运行了多长时间以及在该日期运行了多少英里。 程序应继续要求用户输入有关运行时间的信息,直到用户输入“完成”为止。 输出应该是存储在名为“ run_data”的列表中的所有元组。 这是我所拥有的:

def data(date, time, distance):

    list1 = [(date, time, distance)]
    done = False
    while input == done:
        run_data = list1.append((date, time, distance))
def main():

    d = input('input the date of your run in the form mmdd: ')
    t = input('input how long your run was in minutes: ')
    m = input('input the distance you ran in miles: ')

    running = data(d, t, m)
    print(running) 
main()

输入时我没有任何错误,但是在询问距离之后,它什么也没有输出。 我很困惑为什么它输出了那个,并且不确定我哪里出错了。 我想提一下,我是使用python的初学者,因此将非常感谢您的帮助。 谢谢!

看看这个。 将控件放入main,循环直到“完成”。

def data(date, time, distance):
    return (date, time, distance)


def main(tList):
    while true:
        d = input('input the date of your run in the form mmdd: ')
        if d == 'done':
            break
        t = input('input how long your run was in minutes: ')
        m = input('input the distance you ran in miles: ')
        tList.append(data(d, t, m))


timeList = []
main(timeList)
print(timeList)

要连续获取输入,您可以将main编写为:

list1 = []
while True:
       d = input('input the date of your run in the form mmdd: ')
       t = input('input how long your run was in minutes: ')
       m = input('input the distance you ran in miles: ')

       list1.append((d, t, m))
       # YOu can ask the user if you want to add more data.
       print "Would you like to add more data"
       done = raw_input()
       if(done == "yes" or "y"):
           continue
       else:
           break

print list1

这样,您可以连续将数据添加到列表中,最后打印列表。 编码愉快!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM