Python 输入语句的问题
我是Python和学习列表的新手。以下是我为数字排序编写的程序:Python 输入语句的问题,python,sorting,input,Python,Sorting,Input,我是Python和学习列表的新手。以下是我为数字排序编写的程序: def sorting(final_input): final_output= [] count = 0 length = len(final_input) while count < length: final_output.append(min(final_input))
def sorting(final_input):
final_output= []
count = 0
length = len(final_input)
while count < length:
final_output.append(min(final_input))
final_input.remove(min(final_input))
count += 1
if count == (length):
break
return(final_output)
final_input = [5,6,57,531,9,1]
print(final_input)
print(sorting(final_input))
但当我用input命令输入时(如下所示):
stdin
值的类型始终为string
。因此,在第final\u input.append(int(user\u input))
行追加时,使用int
进行转换:
正如kvmahesh所回答的那样,
input()
的返回类型总是str
。如果需要数字,则需要将其转换为int
while True:
user_input = input("Enter number or quit: ")
if user_input == "quit":
break
try:
final_input.append(int(user_input))
except ValueError:
print("Invalid input!")
try…except
块用于检查用户是否提供了一些无效输入(例如asdfg
)
此外,如果您只想对列表进行排序,可以使用sorted()
:
此语句的输入 用户输入=输入(“输入号码或退出:”) 将以字符串数据类型的形式获取数据。因此,您的输入将被获取为字符串。因此,排序不起作用 所以在追加时将其设为int 最终输入。追加(int(用户输入))
user\u input=int(输入(“输入号码或退出”)
@Ahilan Anantha Krishnan:这很有效。我在本地学校考试PC@Ahilan阿南塔·克里希南:如果你觉得这有用,请接受答案。想想如果用户键入退出会发生什么。
def sorting(final_input):
final_output= []
count = 0
length = len(final_input)
while count < length:
final_output.append(min(final_input))
final_input.remove(min(final_input))
count += 1
if count == (length):
break
return(final_output)
final_input = []
while True:
user_input = input("Enter number or quit: ")
if user_input == "quit":
break
final_input.append(user_input)
print(final_input)
print(sorting(final_input))
Enter number or quit: 5
Enter number or quit: 6
Enter number or quit: 57
Enter number or quit: 531
Enter number or quit: 9
Enter number or quit: 1
Enter number or quit: quit
['5', '6', '57', '531', '9', '1']
['1', '5', '531', '57', '6', '9']
def sorting(final_input):
final_output= []
count = 0
length = len(final_input)
while count < length:
final_output.append(min(final_input))
final_input.remove(min(final_input))
count += 1
if count == (length):
break
return(final_output)
final_input = []
while True:
user_input = input("Enter number or quit: ")
if user_input == "quit":
break
final_input.append(int(user_input))
print(final_input)
print(sorting(final_input))
Enter number or quit: 3
Enter number or quit: 5
Enter number or quit: 1
Enter number or quit: 2
Enter number or quit: 100
Enter number or quit: quit
[3, 5, 1, 2, 100]
[1, 2, 3, 5, 100]
while True:
user_input = input("Enter number or quit: ")
if user_input == "quit":
break
try:
final_input.append(int(user_input))
except ValueError:
print("Invalid input!")
final_input = sorted(final_input)