2016-02-27 250 views
-2

我的if语句有效,但其他人不能帮助我吗? 这是我的代码。顺便说一句,如果有人知道如何在一次之后要求重试会很棒!Python if else语句

import random 

print('choose a number between 1 and 10,if you guess right you get 10 points if you guess wrong you lose 15points') 

answer = input() 

randint = random.randint(0,2) 

print('the answer is ',randint) 

if [answer == randint]: 

print('gratz! you win 10points!') 

else: 

print('you lose 15points!') 
+0

这听起来像是功课... – purpletentacle

+0

尝试删除if语句。 –

+0

'randint'不是1到10之间的数字... –

回答

4

不要在您的if声明中加上括号。当你这样做时,你正在创建一个新的列表。它改成这样:

if answer == randint: 

你可以把括号围绕它,如果你想,但不是[]。你的第二个问题是random.randint()返回一个整数,但是input()返回一个字符串(在Python3中)。您可以改为if int(answer) == randint:,或者您可以说if answer == str(randint):。 @ cricket_007指出的第三个问题是randint(0, 2)将返回02之间的整数,而不是110。只要将该行更改为randint = random.randint(1, 10)即可。

+0

我做了但是如果我这样做,它只会做else语句这就是我得到的选择1到10之间的数字,如果你猜对了你得到10分如果你猜错了你输了15分答案是1 你输了15分! – mikailavci2

+0

我刚刚更新了解决方案。 – zondo

+0

好的,你的真棒 – mikailavci2