我这样做是为了不在Python列表中显示-1
编写一个函数,从键盘输入一系列介于1和20之间的数字,并将其保存在列表中。如果输入超出范围的值,程序将显示错误消息并要求输入新数字。要完成加载,必须输入-1。La函数不接收任何参数,并返回加载的列表(如果用户没有输入任何内容,则为空)作为返回值我这样做是为了不在Python列表中显示-1,python,python-3.x,list,Python,Python 3.x,List,编写一个函数,从键盘输入一系列介于1和20之间的数字,并将其保存在列表中。如果输入超出范围的值,程序将显示错误消息并要求输入新数字。要完成加载,必须输入-1。La函数不接收任何参数,并返回加载的列表(如果用户没有输入任何内容,则为空)作为返回值 def funcion(): list = [] num = 0 while num != -1: num = int(input("Enter a number between 1 and 20: ")) while num >
def funcion():
list = []
num = 0
while num != -1:
num = int(input("Enter a number between 1 and 20: "))
while num > 20 :
num = int(input("Please re-enter the number: "))
list.append(num)
return lista
result = funcion()
print(result)
我的问题是如何在列表中不显示-1当用户输入-1时,更容易有一个无限循环并将其中断:
def funcion():
lista = []
num = 0
while True:
num = int(input("Enter a number between 1 and 20: "))
while num > 20:
num = int(input("Please re-enter the number: "))
if num == -1:
break
else:
lista.append(num)
return lista
result = funcion()
print(result)
诀窍是保存列表,但最后一项除外,如下所示:
return lista[:-1]
您可以在此处阅读更多内容:
对代码的最小更改就是使用列表切片语法返回
lista
中除最后一个元素之外的所有元素:
return lista[:-1]
请参见下面的[1]。这是一种python式的写作方式,略为直观,但更为冗长:
return lista[:len(lista)-1]
…这反过来又是更长时间的缩写:
return lista[0:len(lista)-1]
你似乎是python新手。我真的建议你查阅“列表切片”和“列表理解”:如果你已经知道一种编程语言没有这些,一旦你学会了这些,你会想没有它们你会怎么做
[1]
如果0,请将您的代码重新格式化为有效的Python代码;Python对缩进非常敏感,Python程序员也是如此。您尝试过什么?这似乎非常省力。我不认为“缺乏细节或清晰度”是一个很好的理由来结束这个问题。这两个问题都有足够的理由来回答这个问题,这三个答案证明了这一点。如果他们想结束家庭作业问题或提问者没有努力的问题,那么他们应该将这些问题添加到问题可以结束的原因列表中。