Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 输入语句的问题_Python_Sorting_Input - Fatal编程技术网

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))

我是Python和学习列表的新手。以下是我为数字排序编写的程序:

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)