2012-03-06 8 views
4

私はPythonでテキストベースのロシアのルーレットゲームを作っていますが、1がちょうど私のコードを見て、見ることができるように私は、ほぼ完成していないです:場合でも、何らかの理由で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 

誰かbulletcounterに1を入力すると、 "if bulletcounter == 1"というif文がトリガされません。どのように私はそれがif文を引き起こすようにするのですか?

+0

'if'文は実行されていないと考えられますか? – paxdiablo

答えて

4

panamepbname変数にはraw_inputを使用してください。ファイルの先頭には必ずimport randomが必要です。 にはint(raw_input("How many..."))を使用する方が良いでしょう。inputよりも、任意のPythonコードを評価するために使うことができるからです。

また、envコマンドを使用して呼び出す場合は、使用しているPythonのバージョンを確認することをお勧めします。場合は、コマンドラインで、あなたが実行します。

/usr/bin/env python -V 

をとPython 3の代わりに「Pythonの2.xy」を取得している、とあなたは、Python 3を使用することが期待され、最初の行は、あなたのPythonコールすることに変更することを検討3インタプリタの代わりに。上記の推奨事項は、Python 2を使用していることを前提としています。

+1

それはPythonのバージョンに依存しませんか?私は 'raw_input'がPython 3で削除された(そして' input'が内容を実行しないことでそれを置き換えるように変更されました)と思いましたか? – paxdiablo

+0

@paxdiablo、大丈夫ですが、コードは 'env python'で始まります。つまり、どのバージョンのPythonが使用されているのか簡単にはわかりません。スタイルに与えられたPython 3の意図があると思われるかもしれませんが、OPに環境にPythonの2つのバージョンがインストールされていて、Python 2がそのパスの上にある場合はどうなりますか?私が示唆した変更を加えるとき、Python 2のために働きます。 – imm

+0

imm、私はあなたの答えが間違っていると言っているわけではありません。それはその答えに留意する価値があるでしょう。 – paxdiablo