python - 循环代码并按 0 结束循环

标签 python python-3.x

<分区>

我是新来的,完全是 python 的初学者,所以请帮助我。我已经完成以下操作来创建一个程序,该程序告诉用户输入的数字是向上、向下还是与输入的第一个数字相同。我的问题是,我如何为它创建一个循环,以便用户可以输入尽可能多的数字,然后在输入 0 时结束该过程?


print ('Please enter your first number')
firstNumber = input()

print('Enter the next number(0 to finish)')
nextNumber=input()

if firstNumber<nextNumber:
    print ('Up')

if firstNumber>nextNumber:
    print ('Down')

if firstNumber==nextNumber:
    print ('Same')

谢谢

最佳答案

从英文翻译成python,你要的是

while nextNumber != 0:
    ...keep looping...

因此,无需过多更改代码,您可以简单地执行以下操作:

print ('Please enter your first number')
firstNumber = input()

print('Enter the next number(0 to finish)')
nextNumber=input()

while nextNumber != 0:

    if firstNumber<nextNumber:
        print ('Up')

    if firstNumber>nextNumber:
        print ('Down')

    if firstNumber==nextNumber:
        print ('Same')

    # turn the nextNumber into the firstNumber
    firstNumber = nextNumber

    print('Enter the next number(0 to finish)')
    nextNumber=input()

还有一些您可以改进的地方。例如,您不需要在 input 之前使用 print 语句。您可以简单地执行 input('Please enter your first number')。此外,您可以使用 if-else 而不是仅使用 if

下面是它的外观示例:

firstNumber = input('Please enter your first number')

nextNumber=input('Enter the next number(0 to finish)')

while nextNumber != 0:

    if firstNumber<nextNumber:
        print ('Up')

    elif firstNumber>nextNumber:
        print ('Down')

    elif firstNumber==nextNumber:
        print ('Same')

    # turn the nextNumber into the firstNumber
    firstNumber = nextNumber

    nextNumber=input('Enter the next number(0 to finish)')

现在,你说你想收集所有的 UpsDowns 并在最后打印它们。您可以简单地创建一个 list 并将值附加到该 list。像这样:

ups_and_downs = []

firstNumber = input('Please enter your first number')

nextNumber=input('Enter the next number(0 to finish)')

while nextNumber != 0:

    if firstNumber<nextNumber:
        ups_and_downs.append('Up')
        print ('Up')

    elif firstNumber>nextNumber:
        ups_and_downs.append('Down')
        print ('Down')

    elif firstNumber==nextNumber:
        ups_and_downs.append('Same')
        print ('Same')

    # turn the nextNumber into the firstNumber
    firstNumber = nextNumber

    nextNumber=input('Enter the next number(0 to finish)')

print(ups_and_downs)

关于python - 循环代码并按 0 结束循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43761817/

相关文章:

python - 如何使用时间而不使用按钮命令更改 tkinter 中的帧

python - PyCharm 中未使用的变量

python - 通过 add_subplot 添加子图后如何共享轴?

python - 计算二维数组中空数组出现的次数

python - Django GeoIP 错误;无效的路径类型

python - 从 python-igraph 获取顶点列表

python - 将pdf文件与pypdf合并

python - 如何解析远程文档?

algorithm - HackerRank 糖果分布

python-3.x - 在 Anaconda 提示符下运行 bash 脚本