Je suis nouveau dans le codage et je n'arrive pas à comprendre le problème avec mon code. Donc, j'ai créé une variable. Maintenant, j'essaie d'utiliser cette variable dans une entrée de chaîne, mais je continue à obtenir un

TypeError: entrée attendue au plus 1 arguments, 3.

Toute aide serait appréciée!

Par exemple.

import random
number = random.randint(1,100)
random = str(input('Is', number, 'a prime number? '))
0
user14511501 24 oct. 2020 à 13:29

4 réponses

Meilleure réponse

La méthode input attend une chaîne, celle que vous devez construire, voici des moyens (également elle renvoie déjà un string, supprimez le str)

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

random = input('Is %s a prime number?' % number )
1
azro 24 oct. 2020 à 10:32
import random
number = random.randint(1, 100)

random = str(input('Is ' + str(number) + ' a prime number? '))
0
azro 24 oct. 2020 à 11:30

Remplacez random = str(input('Is', number, 'a prime number? ')) par random = str(input(f'Is {number}, a prime number? ')) car input prend 1 chaîne. (Nécessite Python 3.6 et supérieur)

1
Abhigyan Jaiswal 24 oct. 2020 à 10:32

La fonction input n'accepte qu'un seul argument, comme l'indique le message d'erreur, la chaîne à afficher comme invite, contrairement à la fonction print qui peut accepter plusieurs arguments. Ce que vous devez faire est de combiner tous les arguments dans une seule chaîne. Il existe plusieurs façons de procéder:

# 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?')
0
AAAlex123 24 oct. 2020 à 10:40