私はPythonを学ぶのが初めてで、最近多くの質問をしています。私はBulls and Cowsゲームを作ろうとしましたが、失敗してインターネット上でコードを検索しました。私はこの文を発見し、私はそれが何をするか分からない:私はこの文を理解していません
while True:
guess = raw_input('\nNext guess [%i]: ' % guesses).strip()
if len(guess) == size and \
all(char in digits for char in guess) \
and len(set(guess)) == size:
break
print "Problem, try again. You need to enter %i unique digits from 1 to 9" % size
は、私はまた、1以上\
ありchar
がall()
でまさにブールを評価し、何を意味し、\
理解していません。私は少し混乱しています。
私はここでのコードの残りの部分を残します:
はimport random
digits = '123456789'
size = 4
chosen = ''.join(random.sample(digits,size))
#print chosen # Debug
print '''I have chosen a number from %s unique digits from 1 to 9 arranged in a random order.
You need to input a %i digit, unique digit number as a guess at what I have chosen''' % (size, size)
guesses = 0
while True:
guesses += 1
while True:
# get a good guess
guess = raw_input('\nNext guess [%i]: ' % guesses).strip()
if len(guess) == size and \
all(char in digits for char in guess) \
and len(set(guess)) == size:
break
print "Problem, try again. You need to enter %i unique digits from 1 to 9" % size
if guess == chosen:
print '\nCongratulations you guessed correctly in',guesses,'attempts'
break
bulls = cows = 0
for i in range(size):
if guess[i] == chosen[i]:
bulls += 1
elif guess[i] in chosen:
cows += 1
print ' %i Bulls\n %i Cows' % (bulls, cows)
[Pythonでどのように改行を行うことができますか?](http://stackoverflow.com/questions/53162/how-can-i-do-a-line-break-line) -continuation-in-python) –
これは、可読性を向上させるために、長い行の行を複数の行に分割することです。その良いプログラミングの練習と見なされます。 – stuartnox
@stuartnoxそして最初のANDの後の行はどういう意味ですか? – Eduard