2016-08-04 6 views
-5

私は数ゲームを推測し、私は問題に気づいたとき、私はそれを再生していたため、このコードを持っています。ゲーム符号誤りラインスキップ - Pythonの

数を推測#

print("I'm thinking of a number between 1 and 20. Can you guess my number?") 

r = str(input('{} please enter a integer between 1 and 10: '.format(name))) 

r = str(input('{} please enter a integer between 1 and 10: '.format(name2))) 

print (name, ' you chose ', r) 
print (name2, ' you chose ', p) 
r1 = random.randrange(10) 

コンピュータは、コード

if r == p: 
    print('Plz choose different numbers from each other') 
if r == r1: 
    print('Computer chose', r1,',',name,' Wins!') 
if p == r1: 
    print('Computer chose', r1,',',name2,' Wins!') 
elif (r > 'r1' and p < 'r1'): 
    print('Computer chose', r1, ' both of you lose') 
elif (r < 'r1' and p < 'r1'): 
    print('Computer chose', r1, ' both of you lose') 
elif (r > 'r1' and p > 'r1'): 
    print('Computer chose', r1, ' both of you lose') 
elif (r < 'r1' and p > 'r1'): 
    print('Computer chose', r1, ' both of you lose') 

それは最初の部分をスキップしていることを言い続けるのこの部分を読んだとき

if r == p: 
    print('Plz choose different numbers from each other') 
if r == r1: 
    print('Computer chose', r1,',',name,' Wins!') 
if p == r1: 
    print('Computer chose', r1,',',name2,' Wins!') 
elif (r > 'r1' and p < 'r1'): 
    print('Computer chose', r1, ' both of you lose') 
elif (r < 'r1' and p < 'r1'): 
    print('Computer chose', r1, ' both of you lose') 
elif (r > 'r1' and p > 'r1'): 
    print('Computer chose', r1, ' both of you lose') 
elif (r < 'r1' and p > 'r1'): 
    print('Computer chose', r1, ' both of you lose') 

を獲得した印刷両方の選手が失われた。なぜこれが起こっているのですか?どのように修正できますか?

答えて

2

私はこの問題はここにあると思う:

r = str(input('{} please enter a integer between 1 and 10: '.format(name))) 

r = str(input('{} please enter a integer between 1 and 10: '.format(name2))) 

あなたはを通してpに二時間を割り当てることを意味しないのですか?あなたは、文字列'r1'rpを比較している

elif (r > 'r1' and p < 'r1'): 
    print('Computer chose', r1, ' both of you loose') 
elif (r < 'r1' and p < 'r1'): 
    print('Computer chose', r1, ' both of you loose') 
elif (r > 'r1' and p > 'r1'): 
    print('Computer chose', r1, ' both of you loose') 
elif (r < 'r1' and p > 'r1'): 
    print('Computer chose', r1, ' both of you loose') 

p = str(...

また、これらの行は、あまり意味がありません。おそらくr1と比較することを意味しますが、それでも論理は本当に奇妙です。あなたはおそらくしたいUPDATE

(言葉が綴られていること、しかし、注意してください "失う。")

if r == p: 
    print('Plz choose different numbers from each other') 
elif r == r1: 
    print('Computer chose', r1,',',name,' Wins!') 
elif p == r1: 
    print('Computer chose', r1,',',name2,' Wins!') 
else: 
    print('Computer chose', r1, ' both of you loose') 

:私はあなただけif r != r1 and p != r1をしたいと思いますが、以下のはるかに簡単です整数:

r = int(input('{} please enter a integer between 1 and 10: '.format(name))) 

r = int(input('{} please enter a integer between 1 and 10: '.format(name2))) 
+0

私は多くの問題があると思います。なぜ、最初の変数 'p'、' r'と 'r1'(' p == r1')を比較し、時には 'r <'r1'とp> 'r1''という文字列を比較するのでしょうか? –

+0

@ 2ビットアルケミストええ、実際にはそれを編集しました。 – smarx

+0

"この単語は実際には「失う」と綴られています。 +1 –