有人可以帮我解决这个错误

时间:2017-06-06 09:30:01

标签: python if-statement split

这是我的代码,它是在python版本2.7.13中编写的:

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

在我收到一个我从未见过的错误之前。它说:

  

" ValueError:需要多于1个值才能解压"

2 个答案:

答案 0 :(得分:0)

你需要仔细检查你的平等。在python和许多其他语言中,double equals ==是一个逻辑测试。单个=是一项任务。通过您的代码仔细检查。

同样在最后一行你没有正确地缩进你的传球,但是因为你在其他任何地方都有这个权利我认为这是因为你还没有完成。希望这会有所帮助。

答案 1 :(得分:0)

在第26行,您希望测试num3和num4之间的相等性,如下所示:

num3 == num4

注意在变量名和运算符之间使用空格,以及使用double等于。