Привет, я новичок, и я хочу, чтобы этот код был чем-то, что не будет принимать строку в качестве входных данных

#list #python-2.7 #input #output

Вопрос:

 myint = []  

Я хочу, чтобы в этом списке вводилось только целое число, а если нет, то ввод недопустим и создаст другой код, в котором будет написано:» {} не является целым числом. Попробуйте еще раз.» но я, кажется, не знаю, как это сделать, прошло уже 3 часа

 while 1:  myint1 = input("Enter an integer: ")  myint2 = list(map(int, myint))  myint2.sort(reverse=True)  myint3 = myint2.isInteger()   if myint1 == "": gt;when press enter the code ends and show the sorted list  print(f"sorted list: {myint2}")  break  myint.append(myint1) # Python # List # Input # Invalid code  

Ответ №1:

Вы можете проверить, вводит ли пользователь число, попытавшись преобразовать ввод в int. Затем вы можете использовать try, кроме как для отправки сообщения об ошибке, если они не вводят int. Смотреть ниже:

 list = [] # create list  while True:  userInput = input("Enter a number: ") # user enters something   try:  number = int(userInput) # try to change the input to a number  list.append(number) # if successful then append it  except:  print("Thats not a number!") # if it doesnt work print  userInput = input("Enter a number: ") # and get them to re-enter  print(list)  

Комментарии:

1. но как мне сделать так, чтобы при нажатии клавиши enter программа завершалась?

2. Теперь все в порядке, я все понял. Спасибо за помощь, чувак, большая помощь

Ответ №2:

2

 mylist = []  while True:  myinput = input("Enter an integer: ")  if myinput == "":  mylist.sort(reverse=True)  print(f"nsorted list: {mylist}")  break  try:  number = int(myinput)  mylist.append(number)    except:  print(f"{myinput} is not an integer. Try again: ")  myinput = input("Enter an integer: ")  number = int(myinput)  mylist.append(number)