ainizhongguoa 发表于 2016-10-18 18:41:01

python小甲鱼第四课作业解析

本帖最后由 ainizhongguoa 于 2016-10-18 18:43 编辑

i=1
guess=0
print("猜一猜小甲鱼的数")
while i<=3 and guess!=8:
    temp=input()
    guess=int(temp)
    i=i+1
    if guess==8:
      print("回答正确")
    else:
      if guess>8:
            print("大了大了")
      else:
            print("小了小了")
      if i<=3:
            print("再试一次")
      else:
            print("实验结束p")
print("游戏结束")

这里一个trick是,用双重条件进行判断:如果次数小于3,且答案不为8.
然后要输入一个答案,次数+1.
如果输入的为8,则回答正确。
如果不为8,则返回大小。
        判断是否为3,是则再试一次,回到判断while语句。
        否则(已经达到3)则结束游戏。

我之前一直想先输入答案,再判断是否为8,但是while语句,一旦为8,则直接结束游戏,显示game over。
i=1
guess=input(输入一个数)
while guess!8 and i<3:
      print(大了小了)
      i=i+1
print(game over)

当然,如果在game over前加上回答正确,也行。
i=1
guess=input(输入一个数)
while guess!8 and i<3:
      print(大了小了)
      i=i+1
print(回答正确)
print(game over)
但是如果输入一直不为8,到最后循环出来会先显示回答正确,再显示game over。

本文的trick在于:
将输入放到判断条件之后。
而将回答正确作为一种条件情形
回答错误作为另外一种条件情形
同时将计数功能放到回答错误当中。
用两个图来表示这两个思路的不同:
**** Hidden Message *****
页: [1]
查看完整版本: python小甲鱼第四课作业解析