找了一段最基础的Python代码,如下:importrandomsecret=random.randint(1,100)guess=0tries=0print"AHOY!I'mtheDreadPrateRoberts,andIhaveasecret!"print"It'sanumberfrom1to99.I'l...
找了一段最基础的Python代码,如下:
import random
secret = random.randint(1,100)
guess = 0
tries = 0
print "AHOY! I'm the Dread Prate Roberts,and I have a secret!"
print "It's a number from 1 to 99. I'll give you 6 tries."
while guess != secret and tries < 6:
guess = input("What's yer guess?")
if guess < secret:
print "To low,ye securvy dog!"
elif guess > secret:
print "Too high,landlubber!"
tries = tries + 1
if guess == secret:
print "Avast! Ye got it!Found my secret,you did!"
else:
print "No more guess! Better luck next time,matery!"
print "The secret numer was",secret
想得到的效果是如下:
>>> ======================= RESTART =====================
>>>
AHOY! 1 'm the Dr'ead Pirate Roberts , and 1 have a secret!
I t is a number from 1 to 99. '11 give you 6 tries.
What's yer guess? 40
Too high, 1and1ubber!
What's yer guess? 20
Too high, 1and1ubber!
What's yer guess? 10
Too 1ow, ye scurvy dog!
What's yer guess? 11
Too 1ow, ye scurvy dog!
What's yer guess? 12
Avast! Ye got it! Found my secret , ye did!
>>>
但是得到的效果是,如下:【问题在这里?????】
>>> ================================ RESTART ================================
>>>
AHOY! I'm the Dread Prate Roberts,and I have a secret!
It's a number from 1 to 99. I'll give you 6 tries.
What's yer guess?3
To low,ye securvy dog!
No more guess! Better luck next time,matery! 【当输入一个错误的数,会把这两句不改打印的打印出来】
The secret numer was 15【当输入一个错误的数,会把这两句不改打印的打印出来】
What's yer guess?15
Avast! Ye got it!Found my secret,you did!
>>>
求大神指教,哪里错了呢?当输入一个错误的值,应该不打印那两句才对啊,那两句不是最后打印的吗?
为什么,调用了if,还调用else呢???
展开