0
#Guess the number game by Johnathan Millsap
import random

guessesTaken = 0

print('Hello! What is your name?')
myName = input()

number = random.randint(1, 100)
print('Well, ' + myName + ', I am thinking of a number between 1 and 100.')
print('Try to guess it!.')

while guessesTaken <= 3:
    print('Take a guess.')
    guesesTaken = guessesTaken + 1
    guess = input()
    guess = int(guess)

if guess < number:
    print('Your guess is too low.')     
if guess > number:
    print('Your guess is too high.')
if guess == number:


if guess == number:
    guesesTaken = str(guessesTaken)
    print('Good job, ' + myName + '! You guessed my number ' + guessesTaken + ' guesses!')

if guess != number:
    number = str(number)
    print('Nope. The number I was thinking of was ' + number)

これに伴う主な問題は、intが暗黙的に文字列に変換されないことを私に伝え続けることです...また、1-100、1-1000、1-10000のような3つの異なる問題でこれを実行しようとしています。これに関する助けをいただければ幸いです。

Traceback (most recent call last):
  File "Lab4.py", line 28, in <module>
    print('Good job, ' + myName + '! You guessed my number ' + guessesTaken + ' guesses!')
TypeError: Can't convert 'int' object to str implicitly
Terminated with exit code 1.
4

3 に答える 3

3

コードに誤植があります

guesesTaken = str(guessesTaken)

する必要があります

guessesTaken = str(guessesTaken)
于 2012-12-04T18:23:51.250 に答える
2

質問でインデントがめちゃくちゃになっていて、割り当てのファイル(Lab4.py)で正しいと仮定してみてください。

print('Good job, ' + myName + '! You guessed my number ' + str(guessesTaken) + ' guesses!')
于 2012-12-04T18:23:34.557 に答える
0

str()Lを使用してintを文字列に変換します

print('Good job, ' + myName + '! You guessed my number ' + str(guessesTaken) + ' guesses!')
于 2012-12-04T18:26:11.077 に答える