l_x2004 发表于 2018-12-17 19:52:42

0基础学python第四讲课后习题疑问

在小甲鱼0基础学python的第四讲里课后作业给的答案是这样的,但是我有个疑问,就是进入while循环的时候不是符合guess!=secret才进入循环的吗,那要是这样if guess == secret是不是应该放在while循环结束的时候呢就是这样子,真的会有人回答我吗0.0



import random
times = 3
secret = random.randint(1,10)
print('------------------我爱鱼C工作室------------------')
# 这里先给guess赋值(赋一个绝对不等于secret的值)
guess = 0
# print()默认是打印完字符串会自动添加一个换行符,end=" "参数告诉print()用空格代替换行
# 嗯,小甲鱼觉得富有创意的你应该会尝试用 end="JJ"?
print("不妨猜一下小甲鱼现在心里想的是哪个数字:", end=" ")
while (guess != secret) and (times > 0):
    temp = input()
    guess = int(temp)
    times = times - 1 # 用户每输入一次,可用机会就-1
    if guess > secret:
      print("哥,大了大了~~~")
    else:
      print("嘿,小了,小了~~~")
    if times > 0:
      print("再试一次吧:", end=" ")
    else:
      print("机会用光咯T_T")
if guess == secret:
      print("我草,你是小甲鱼心里的蛔虫吗?!")
      print("哼,猜中了也没有奖励!")
print("游戏结束,不玩啦^_^")

l_x2004 发表于 2018-12-17 20:20:57

好像上面的方法也可以?
我又试了一下下面的好像循环三次小了笑了就结束了这是为啥呀{:10_266:}
import random
times = 3
secret = random.randint(1,10)
temp = input('猜数字:')
guess = int(temp)
while (guess != secret) and (times > 0):
    times = times - 1
    if guess > secret:
      print("哥,大了大了~~~")
    else:
      print("嘿,小了,小了~~~")
    if times > 0:
      print("再试一次吧:", end=" ")
    else:
      print("机会用光咯T_T")
if guess == secret:
    print("我草,你是小甲鱼心里的蛔虫吗?!")
    print("哼,猜中了也没有奖励!")
print("游戏结束,不玩啦^_^")

kofme 发表于 2018-12-19 02:12:15

第二行已经限定循环次数了吧。

heidern0612 发表于 2018-12-19 18:56:05

l_x2004 发表于 2018-12-17 20:20
好像上面的方法也可以?
我又试了一下下面的好像循环三次小了笑了就结束了这是为啥呀
import r ...

你限定的times = 3,while限定的time>0.

程序while循环,每运行一次,没猜对的话times 就-1。

times一直减到0退出了while循环,就游戏结束了。
页: [1]
查看完整版本: 0基础学python第四讲课后习题疑问