虽然循环不循环

时间:2019-07-14 12:11:56

标签: python python-3.x

我有一个while循环,我想一直提示用户输入数字,直到用户键入“ exit”为止。不幸的是,当用户输入任何内容时,不会提示他们输入其他数字,并且该过程不会结束。我使用Pycharm作为我的IDE。这是我的代码:

a = []
num = ""
newa = []
def makelist():
    num = input("Type a number! Or if you want to exit, type 'exit' ")
    while num != "exit":
        if int(num):
            a.append(num)
        num
def firstandlast():
    newa.append(a[0]) and newa.append([len(a)])
    print("Here are the first and last numbers you typed:")
    print(newa)
makelist()
firstandlast()

3 个答案:

答案 0 :(得分:1)

doSetState(str) { this.setState({ [str]: false }); } 函数修改为:

makelist

答案 1 :(得分:1)

您将需要在while循环中再次分配def makelist(): num = input("Type a number! Or if you want to exit, type 'exit' ") while num != "exit": if int(num): a.append(num) num = input("Type a number! Or if you want to exit, type 'exit' ") ,使其再次等于输入:

num

答案 2 :(得分:1)

首先,最好使用isdigit()作为函数来确定输入是否为数字。因此,这部分如下所示:

if num.isdigit():
     a.append(num)

要在每个循环级别中获取新的输入,可以在循环中添加一个额外的input()

while num != "exit":
     if num.isdigit():
          a.append(num)
     num = input()

您正在使用and在一行中添加您的第一个和最后一个数字。我将其编辑为两行,现在可以正常工作。而且,您可以使用-1来实现数组的最后一个元素。因此a[-1]将为您提供最后一项。 firstandlast函数将如下所示:

def firstandlast():
    newa.append(a[0])
    newa.append(a[-1])