【问题标题】:How to print only once the items in a list (Python 2.7)如何仅打印列表中的项目一次(Python 2.7)
【发布时间】:2017-03-19 02:41:51
【问题描述】:

我是 Python 的初学者,我编写了一个代码来打印用户输入的产品列表,但是每当我打印它时,它不会在到达最后一个元素时中断...
编辑:字符串应该没有空格。例如:小屋、奶酪、培根
这是我的代码:

def menu():
    print "1. View products"
def view(products):
    print products
def main():
    str1 = raw_input("")
    products =str1.split(',')
    menu()
    choice = input("")
    while (choice != 0):
        if(choice == 1):
            view(products)
main()

【问题讨论】:

  • 你永远不会在while循环中改变选择,所以循环会继续运行
  • 您不会在 while 循环中更新选择,它始终以第一个选择运行。将choice = input("")放在循环的末尾

标签: python python-2.7 list


【解决方案1】:

您有一个无限循环,这就是列表不断打印的原因。您需要多次要求输入,否则循环将永远不会结束

choice = None
while (choice != 0) and (choice != 1):
    if(choice == 1):
        view(products)
    choice = input("Type 1 to view products, 0 to quit: ")

【讨论】:

  • 恐怕这段代码行不通。在while循环之前将choice设置为1,导致你永远不会进入while循环。
【解决方案2】:

在此代码中,您只打印列表,而在这种情况下,while 会生成无限循环。 在您的示例产品中是一个列表。那么为什么不将它传递给查看函数,然后将其传递给 for 循环以打印产品内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-16
    相关资源
    最近更新 更多