pas tous les arguments converti lors de la mise en forme de chaîne.. PAS de % variables
x = input()
y = 1
print (x)
while 1 == y:
if x == 1:
y == y + 1
elif x % 2 == 0: #even
x = x // 2
print (x)
else:
x = 3 * x + 1
print (x)
Si vous savez ce que la conjecture de Collatz est, je suis en train de faire une calculatrice pour que. Je veux avoir x comme mon entrée donc je n'ai pas à changer x numéro et l'enregistrer à chaque fois que je veux essayer un nouveau numéro.
- Je obtenir de l'erreur ci-dessous
TypeError: pas tous les arguments converti lors de la mise en forme de chaîne'
à la ligne 7.
S'il vous plaît aider un noobie out.
- Notez que le code ci-dessous la boucle while n'est pas correctement en retrait.
Vous devez vous connecter pour publier un commentaire.
Le problème, c'est que vous prenez d'entrée de l'utilisateur:
Maintenant
x
est unstr
. Donc, sur cette ligne:La
%
de l'opérateur agit comme un chaîne d'interpolation de l'opérateur.Cependant, la
input
que vous avez donné n'est pas un spécificateur de format, donc:Vous avez besoin de convertir votre saisie de l'utilisateur dans un
int
pour la%
opérateur pour effectuer le modulo.Maintenant, il va faire ce que vous voulez: