2017-06-06 3 views
-1

Das ist mein Code ist, ist es in Python-Version 2.7.13 writen ist:Kann mir jemand helfen, diesen Fehler zu trainieren

import random 
num=random.sample(range(1,9),4) 
print(num) 
thing=1 
while thing==1: 
    while thing==1: 
     Usernum=str(input("Input a number of four DIFFRENT digits all of which are between 1 and 9 or exit")) 
     if Usernum = "exit": 
      print("Goodbye") 
      break 
     else: 
      pass 
     if len(set(Usernum)) == 4: 
      pass 
     else: 
      print("You enterd a number that wasn't 4 digits, please try again!") 
      thing==1 
      pass 

     if Usernum.isdigit: 
      pass 
     else: 
      print("you entered something that isnt a number, please try again!") 
      pass 
     num1,num2,num3,num4 = Usernum.split() 
     if num1 in (num2,num3,nub4) or num2 in (num3,num4) or num3==num4: 
      print("you ented a number with duplicate digits, Please try again!") 
     else: 
      break 
else: 
pass 

Bevor ich eine Störung erhalte, die ich noch nie zuvor gesehen haben. Es sagt:

"ValueError: need more than 1 value to unpack"

+0

hier 'if Usernum =" exit ":' – e4c5

+1

Es gibt * viele * Fehler in Ihrem Code. –

Antwort

0

Sie müssen Ihre Gleichheiten überprüfen. In Python und vielen anderen Sprachen ist Double gleich == ein logischer Test. Eine einzelne = ist eine Zuordnung. Überprüfen Sie dies durch Ihren Code.

Auch in der letzten Zeile haben Sie Ihren Pass nicht richtig eingerückt, aber da Sie dies überall sonst haben, nehme ich an, dass dies daran liegt, dass Sie noch nicht fertig sind. Hoffe das hilft.

0

Am 26. Linie wollen Sie für die Gleichstellung von num3 und num4 wie diese Prüfung zu:

num3 == num4

Beachten Sie die Verwendung von Leerzeichen zwischen den Variablennamen und dem Betreiber, und die Verwendung von das Doppelte ist gleich.

Verwandte Themen