为什么 2 个等效变量彼此不相等?

时间:2021-07-06 02:44:39

标签: python python-3.x numbers

所以我有以下代码,其中 chalnum(challenge number 的缩写)是随机生成的数字。您必须尝试通过输入序列 (finalnum2) 获得该数字。但出于某种原因,即使数字相等,它也总是认为数字不相等。

   chal = input('Would you like a challenge number? (y/n) ')
   if 'ye' in chal or chal == 'y':
       str = 'Try to get %s \n'
       chalnum = round(uniform(5, 5000))
       print(str % colored(chalnum, attrs=['underline']))
   else:
       chalnum = 0
       print('\n')

一些更多的代码,您可以在其中制作您的号码,然后:

finalnum2 = round(num/ex_num2)
    (chalnum, finalnum2)
    if finalnum2 == chalnum:
        chalcomp = (colored('Congrats! You completed the challenge!', 'green'))
        for i in range(chalcomp):
            print(chalcomp[i], sep='', end='', flush=True); sleep(0.14)
    elif chalnum == 0:
        pass
    elif finalnum2 > chalnum or finalnum2 < chalnum:
        chalfail = (colored('Oh no! It looks like you failed the challenge!', 'red'))
        for i in range(chalfail):
            print(chalfail[i], sep='', end='', flush=True); sleep(0.14)
    else:
        raise Exception

请记住,我是初学者,所以如果这是一个愚蠢的错误,请不要太苛刻。

1 个答案:

答案 0 :(得分:0)

可能它们都是不同类型的,比如 24!='24' 使用类型转换并转换为 say

if int(finalnum2) == int(chalnum):

在这种情况下比较会进行得很好。