#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. Хорошо, я добавлю текст 🙂