私はループ中に他のものを見てきました。pythonでカウンタが有効になっていません
points = int(input('How many points: '))
while True:
u_cnt, c_cnt = 0, 0
if u_cnt < points or c_cnt < points:
if u < c:
c_cnt += 1
elif u > c:
u_cnt += 1
私の問題は2つのif文の中にc_cnt += 1
がありますか?
私はwhile
ループの外に置いていますが、それでもカウントは増加しません。 u_cnt = 0
とc_cnt = 0
を別々の行に入れました。
無限ループをしているわけではありません。増分していないだけです。
はありがとう編集:そう
import random
u_name = input('What is your name? ')
points = int(input('How many points: '))
u_cnt, c_cnt = 0, 0
while True:
a = ['rock', 'paper', 'scissors']
comp = random.choice(a)
print('Pick from:', str(a).strip('[]'))
user = input()
u = a.index(user)
c = a.index(comp)
line_1 = '{} : {}\t{} : {}'.format(u_name, user, 'Computer', comp)
line_2 = '{} : {}\t{} : {}\n'.format(u_name, u_cnt, 'Computer', c_cnt)
if c_cnt < points or u_cnt < points:
if u > c or u == 0 and c == 2:
u_cnt += 1
print(line_1, '\t', u_name, 'wins')
print(line_2)
elif u < c or u == 2 and c == 0:
c_cnt += 1
print(line_1, '\t', 'Computer wins')
print(line_2)
elif u == c:
print(line_1, '\t', 'Tie')
print(line_2)
else:
break
あなたは、この最初の時間を実行して、あなたは答えバックのような
カウントが1であることを取得する方法What is your name? chad
How many points: 3
Pick from: 'rock', 'paper', 'scissors'
rock
chad : rock Computer : scissors chad wins
chad : 0 Computer : 0
Pick from: 'rock', 'paper', 'scissors'
、0を取得します最初の反復でそれはより良い質問かもしれません。
ループを入力するたびにカウンタをゼロにリセットします。 'u_cnt、c_cnt = 0、0'を' while'の前に置きます。 – Efferalgan
ループから抜ける仕組みがないので、「無限ループをしていません」とは思わない。 –
@JulienSpronck合意。そのコードはどのようにループから抜け出すことができますか? "ブレイク"ステートメントと "raise ..."ステートメントはありませんので、決して出ることはできません。 – Frogboxe