循环用户输入并将其添加到未知长度的列表中

时间:2016-07-30 05:41:09

标签: python list loops

代码向用户询问5个问题并且他们将回答它,然后这5个答案将是未知长度的新列表的一个元素

我的意思是我不知道用户有多少匹马会在一天内下注。如果用户在一天内下注6匹马,则新列表将具有6个元素,每个元素是马,赌注,赔率,结果,书的列表。

所以我正在寻找一个代码,该代码会不断添加到新列表中,直到用户对“你想添加选择吗?”这个问题说“不”为止。

 wrapperwar_jartask=${output_dir}/XYZWrapper.war,${wrapper_home},**

很抱歉,如果这太多了,但我厌倦了整天使用谷歌和浏览这个网站,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

您将它全部添加到最终列表中吗?

final_list = []
while True:

    add_selection =raw_input("Would you like to add a selection?").lower()
    if add_selection == "yes":

            selection = raw_input('Horse: ')
            print selection

            stake = float(raw_input('Stake: '))
            print stake

            odds = float(raw_input('Odds: '))
            print odds

            result = (raw_input('Result: '))

            if result == "Win":
                print stake * odds
            elif result == "Lose":
                print 0
            elif result == "Refund":
                print stake

            book = raw_input('Book: ')
            print book

            final_list.append([selection,stake,odds,result,book])
            print final_list


    else:
        break

答案 1 :(得分:0)

在循环范围之外创建一个列表,然后根据用户输入附加到它。当他们输入"否"时,如果你想留在函数break,如果你想离开这个函数,就把return留下。{/ p>

您需要在循环之前声明inputs,以便在循环之外访问它。否则,它不会在范围内""再也可以访问代码了。您可能希望将其返回到调用菜单的任何功能,而不仅仅是打印输入。

inputs = []
while True:

    add_selection =raw_input("Would you like to add a selection?")
    if add_selection == "Yes":
            selection = raw_input('Horse: ')
            print selection

            stake = float(raw_input('Stake: '))
            print stake

            odds = float(raw_input('Odds: '))
            print odds

            result = ["Win", "Lose", "Refund"]
            result = (raw_input('Result: '))

            if result == "Win":
                print stake * odds
            elif result == "Lose":
                print 0
            elif result == "Refund":
                print stake

            book = raw_input('Book: ')
            print book

            list=[selection,stake,odds,result,book]
            print list

            inputs.append(list)

    elif add_selection == "No":
        break
print inputs

https://ideone.com/s9fHXo