Python的if语句

问题描述:

我想提出一个基于文本的俄罗斯轮盘赌游戏,Python,但我几乎没有完成,因为人们可以仅仅通过看我的代码中看到:Python的if语句

#!/usr/bin/env python 
print("The maximum number of bullets is 3") 
bulletcounter = input("How many bullets do you want your gun to have?") 
print(bulletcounter, "bullets") 
paname = input("Enter Player 1's Name: ") 
pbname = input("Enter Player 2's Name: ") 
print(paname.capitalize(), "Vs.", pbname.capitalize()) 
if bulletcounter == 1: 
    bulletcount = 0 
    print(bulletcount) 
    bulletaloc = random.randint(1, 6) 
    while bulletaloc != bulletcount: 
     bulletcount += 1 

出于某种原因,即使有人将1输入到bulletcounter,它不会触发if语句“if bulletcounter == 1”。我如何使它触发如果统计?

+0

什么特殊的行为导致你相信'if'语句没有被执行? – paxdiablo 2012-03-06 01:51:03

为您的panamepbname变量使用raw_input。请务必在文件顶部import random。对bulletcounter也使用int(raw_input("How many..."))也是更好,我认为它比input更好,因为这可以用来评估任意的python代码。

另外,当使用env命令调用Python时,应该检查您正在使用的是哪个版本的Python。如果在命令行中运行:

/usr/bin/env python -V 

,并获得“巨蟒2.xy”,而不是Python 3中,并且你期望被使用Python 3,考虑改变是第一行来调用Python 3翻译。上面提到的建议假定你正在使用Python 2.

+1

这不取决于Python版本吗?我认为在Python 3中'raw_input'已被删除(并且'input'改为替换它,通过不执行它的内容)? – paxdiablo 2012-03-06 01:48:32

+0

@paxdiablo,好吧,但代码以'env python'开始,这意味着我们不能轻易地看到正在使用的Python版本。虽然我们可能会假定Python的意图是针对Python 3的风格,但如果OP在环境中安装了两个版本的Python,并且Python 2碰巧在路径中更进一步呢?当我提出修改时,它适用于Python 2. – imm 2012-03-06 01:51:20

+0

imm,我不是说你的答案是错误的,只是你似乎在做一个假设。值得注意的是在答案中。 – paxdiablo 2012-03-06 01:53:28