dummy = 10
os.system("cls")
x = input("""You use your attack by chossing a attack,for now you have 3 attacks.
Choose one:
1)punch 3dmg
2)use knife 4dmg
3)use pistol 6dmg
""")
if x == 1:
dummy = dummy-3
print"Dummies life:"+str(dummy)
elif x == 2:
dummy = dummy-4
print"Dummies life:"+str(dummy)
elif x == 3:
dummy = dummy-6
print"Dummies life:"+str(dummy)
x=raw_input("""Attack:
1)punch 3dmg
2)use knife 4dmg
3)use pistol 6dmg
""")
if x == 1:
dummy = dummy-3
print"Dummies life:"+str(dummy)
elif x == 2:
dummy = dummy-4
print"Dummies life:"+str(dummy)
elif x == 3:
dummy = dummy-6
print"Dummies life:"+str(dummy)
if dummy <= 0:
os.system("cls")
elif dummy >= 0:
os.system("cls")
x=raw_input("Finish him write 1,2,3:")
#this is always printing help me#
if x==1:
dummy=dymmy-3
elif x==2:
dummy=dummy-4
elif x==3:
dummy=dummy-6
print"Good job!!!"
为什么总是打印最后一个if elif代码?
抱歉,如果代码的其他部分可能出现错误,我不知道这些巨大的代码。
答案 0 :(得分:2)
raw_input()
函数从输入(即用户)读取一行,并通过删除尾随换行符返回一个字符串。
所以int == str
总是假的。
答案 1 :(得分:1)
我无法回答这个问题,但这太可怕了。我不太确定你在写什么。如果我打了两次,我就会得到你的第一个条件,如果我在破坏时打破了10分,我会得到另一个。似乎工作。
可能想要在最后一个条件下将dummy = dymmy-3更改为dummy = dummy-3。
此外,请将您的评论置于上方或与其即将执行的代码内联。
答案 2 :(得分:1)
这是因为input()
函数接受字符串输入。
使用int()
函数
OR
if x == '1':
# your stuffs
elif x == '2':
# your stuffs
问题是你的最后一个条件:elif >=0
因为无论我输入哪个整数,它总是大于0不是吗?因此,它正在调用最后一个条件。正确地检查并应用您的逻辑。
答案 3 :(得分:0)
这是因为你需要使用raw_input来获取第二个if / elif set的值,当你想要一个整数时,它会返回一个字符串。改为使用输入(就像你在第一个if / elif集上所做的那样)将返回一个整数,可以将其与你尝试的整数进行比较。
答案 4 :(得分:0)
首先,即使游戏有效,你的游戏也没有多大意义。
例如,如果有人输入第一个选项的3倍怎么办?假人仍然活着,你会给他一个“好工作”
它是否必须完全玩3次游戏?他可以用2-4次游戏赢得它,具体取决于选择。如果不是为什么你不使用while循环直到假人死了?
正如上面的其他人所说,问题是raw_input将所有东西都分配给一个字符串,所以输入为整数,被指定为字符串,并且if条件不能被检查。
但是你可以在python中使用你的假设知识水平,使用while循环的1/3代码。
答案 5 :(得分:0)
对于帮助人员而言:)。我犯了一个愚蠢的错误,我只需要改变 的raw_input 成 输入 对不起,我现在知道了更多的我当然是:(