鱼C论坛

 找回密码
 立即注册
查看: 1475|回复: 8

[已解决]3.7 关于while循环的问题

[复制链接]
发表于 2018-2-27 18:31:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
最早我们的游戏其中一段,在第一次输入数字和随机出的number相等的时候,会直接运行到最后的:print('over'),请问有没有什么方法能在第一次输入数字和随机出的number相等的时候让它走猜对了那块的输出呢?

  1. import random

  2. number=random.randint(1,3)
  3. temp = input ('请输入你喜欢的数字:')
  4. guess = int (temp)

  5. while guess != number:
  6.         temp=input('猜错了,重新输入:')
  7.         guess = int (temp)
  8.         if guess == number:
  9.             print('呀呀呀,猜对了呢')
  10.         else:
  11.                 if guess>number:
  12.                         print('大了大了')
  13.                 else:
  14.                         print('小了小了')
  15. print('over')
复制代码
最佳答案
2018-2-27 19:13:39
都放在循环体中,不在循环头部判断,在循环体中间判断是否退出循环。
  1. import random

  2. number=random.randint(1,3)


  3. while True:
  4.         temp = input ('请输入你喜欢的数字:')
  5.         guess = int (temp)
  6.         if guess == number:
  7.             print('呀呀呀,猜对了呢')
  8.             break
  9.         else:
  10.                 if guess>number:
  11.                         print('大了大了')
  12.                 else:
  13.                         print('小了小了')
  14.         print('猜错了,重新输入,', end = '')
  15. print('over')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-2-27 18:43:50 | 显示全部楼层
  1. import random

  2. number=random.randint(1,3)
  3. temp = input ('请输入你喜欢的数字:')
  4. guess = int (temp)

  5. while guess != number:
  6.         temp=input('猜错了,重新输入:')
  7.         guess = int (temp)
  8.         if guess>number:
  9.           print('大了大了')
  10.         else:
  11.           print('小了小了')
  12. else:
  13.   print('呀呀呀,猜对了呢')
  14. print('over')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-27 19:06:22 | 显示全部楼层
增加一个多次尝试的功能,或者就看2楼的方法
  1. import random

  2. gtime = 1
  3. gnum = int(input('第%s猜数字,请输入你要猜的数字:' % gtime))
  4. rnum = random.randint(1,10)
  5. while gtime <= 4:
  6.     if gnum == rnum:
  7.         print('厉害了我的哥,第%s次就猜出来了' % gtime)
  8.         break
  9.     else:
  10.         if gnum > rnum:
  11.             print('太大了,往小的猜')
  12.         else:
  13.             print('太小了,往大的猜')
  14.         gtime += 1
  15.         gnum = int(input('第%s猜数字,请输入你要猜的数字:' % gtime))
  16. print('谢谢参与,游戏结束')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-27 19:13:39 | 显示全部楼层    本楼为最佳答案   
都放在循环体中,不在循环头部判断,在循环体中间判断是否退出循环。
  1. import random

  2. number=random.randint(1,3)


  3. while True:
  4.         temp = input ('请输入你喜欢的数字:')
  5.         guess = int (temp)
  6.         if guess == number:
  7.             print('呀呀呀,猜对了呢')
  8.             break
  9.         else:
  10.                 if guess>number:
  11.                         print('大了大了')
  12.                 else:
  13.                         print('小了小了')
  14.         print('猜错了,重新输入,', end = '')
  15. print('over')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-27 22:42:12 | 显示全部楼层

=================== RESTART: E:\1编程\2Python\experience.py ===================
请输入你喜欢的数字:13
猜错了,重新输入:2
小了小了
呀呀呀,猜对了呢
over
>>> 重新输入时候若猜对数字则会混乱,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-27 22:54:01 | 显示全部楼层
本帖最后由 °蓝鲤歌蓝 于 2018-3-3 00:07 编辑
ssjmhh56 发表于 2018-2-27 22:42
=================== RESTART: E:\1编程\2Python\experience.py ===================
请输入你喜欢的数 ...


将while循环语句的else语句改成
  1. elif guess < number:
复制代码

其实最好是把while循环里开头两句方法放到循环的最后面去。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-6 18:26:58 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-27 22:54
将while循环语句的else语句改成,
其实最好是把while循环里开头两句方法放到循环的最后面去。

谢谢回答~~~受益匪浅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-6 18:28:21 | 显示全部楼层
纳兰小寒 发表于 2018-2-27 19:06
增加一个多次尝试的功能,或者就看2楼的方法

谢谢回答~受益匪浅
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-6 18:29:00 | 显示全部楼层
ssjmhh56 发表于 2018-2-27 22:42
=================== RESTART: E:\1编程\2Python\experience.py ===================
请输入你喜欢的数 ...

是呢  是在猜对的时候,会有些混乱
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-8 00:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表