Ввод нескольких строк — Python

#python #string #input

#python #строка #ввод

Вопрос:

Я новичок в программировании и, похоже, не могу разобраться в проблеме с моим кодом. Итак, я создал переменную. Теперь я пытаюсь использовать эту переменную в строковом вводе, но я продолжаю получать

Ошибка типа: ожидается ввод не более 1 аргумента, получено 3.

Любая помощь будет оценена!

Например.

 import random
number = random.randint(1,100)
random = str(input('Is', number, 'a prime number? '))
  

Ответ №1:

input Метод ожидает одну строку, которую вам нужно собрать, вот способы (также он уже возвращает a string , удалите str )

 # f-string
random = input(f'Is {number} a prime number? ')

random = input('Is %s a prime number?' % number )
  

Ответ №2:

Замена random = str(input('Is', number, 'a prime number? ')) на random = str(input(f'Is {number}, a prime number? ')) since input занимает 1 строку. (Требуется Python 3.6 и выше)

Ответ №3:

input Функция принимает только один аргумент, как указано в сообщении об ошибке, строку для отображения в виде приглашения, в отличие от print функции, которая может принимать несколько аргументов. Что вам нужно сделать, так это объединить все аргументы в одну строку. Есть несколько способов сделать это:

 # string concatenation
random = input('Is '   str(number)   ' a prime number? ')

# string formatting
random = input('Is %d a prime number?' % number)

# f-strings
random = input(f'Is {number} a prime number?')
  

Ответ №4:

 import random
number = random.randint(1, 100)

random = str(input('Is '   str(number)   ' a prime number? '))
  

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

1. Хорошо, я добавлю текст 🙂