我有一个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()
答案 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])