-3
import random
print ("welcome to my game")

guessestaken = 0
number = random.randint(1,10)

print ("what is your name")

myname = raw_input()

print ("Well,"+ myname + "," + "I'm thinking of a number between  1 and 10"

while guessesTaken < 6:
    print ("take a guess")
    guess = raw_input()
    guess = int(guess)
    guesstaken = guesstaken + 1

    if guess < number :
        print  ("your guess is low")
    if guess > number :
        print  ("your guess is high")
    if guess == number :
        break
if guess == number :
    print ("You are awesome ")
    guesstaken = str(guessestaken)
    print ("You guessed the number in " + guessestaken + " try" )

if guess != number:
    print "You lost"

実行しようとするたびに、「whileguesesTaken < 6: ^ SyntaxError: invalid syntax」というエラーが表示されます

4

2 に答える 2

2

printステートメントの前のwhileステートメントは、閉じ括弧を省略します。

print ("Well,"+ myname + "," + "I'm thinking of a number between  1 and 10"

左括弧を削除するか、右括弧を追加してください。

于 2013-07-27T18:40:50.857 に答える
1

falsetru はすでにあなたの質問に答えています。guessesTaken、 、guesstakenの間も自由に切り替えられguessestakenます。追加したいのは、Pythonには、ループが終了または破損したためにループが終了したかどうかを判断するための優れた制御ステートメントがあることです(によってbreak)。このような場合は、 を使用できますwhile...else

コードでは、次のようになります。

#! /usr/bin/python3

import random

number = random.randint(1, 10)
print ('Welcome to my game.')

myName = input ('What is your name? ')
print ('Well, {}, I\'m thinking of a number between 1 and 10'.format (myName) )

guessesTaken = 0
while guessesTaken < 6:
    guess = int (input ('Take a guess: ') )
    guessesTaken += 1

    if guess < number: print  ('Your guess is low.')
    if guess > number: print  ('Your guess is high.')
    if guess == number:
        print ('You guessed the number in {} tr{}.'.format (guessesTaken, 'y' if guessesTaken == 1 else 'ies') )
        break
else: print ('You lost.')
于 2013-07-27T18:58:05.337 に答える