关于Python的if else语句,调用else不正确的问题
找了一段最基础的Python代码,如下:importrandomsecret=random.randint(1,100)guess=0tries=0print"AHOY!...
找了一段最基础的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呢??? 展开
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呢??? 展开
2016-09-07 · 知道合伙人教育行家
天雨下凡
知道合伙人教育行家
向TA提问 私信TA
知道合伙人教育行家
采纳数:17564
获赞数:65154
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……
向TA提问 私信TA
关注
展开全部
看不到你的缩进,所以不能判断你的代码哪里有问题,正确的代码如下:
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询