鱼C论坛

 找回密码
 立即注册
查看: 838|回复: 6

[已解决]关于while或者if...else能后实现循环

[复制链接]
发表于 2020-4-26 19:26:15 | 显示全部楼层 |阅读模式

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

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

x
  1. xixi = input('来聊聊天:')
  2. xi = int(xixi)
  3. if type(xi) == type(1) :
  4.     a = 3
  5.     ha = 9
  6.     xin = 6
  7.     print("我的心里有谁",end = '')
  8.     while ha != 12 and a > 0:
  9.         num = input()
  10.         e = int(num)
  11.         a = a-1
  12.         if e == xin:
  13.             print('猜对了')
  14.         else :
  15.             if e > xin :
  16.                  print('大了哦')  
  17.             else :
  18.                  print('小了呢')
  19.             if a > 0 :
  20.                 print('再试试')
  21.             else :
  22.                 print('改天再试试')
  23.     print('晚上一起吃饭吧!')
  24. else :
  25.     xixi = input('来聊聊天:')
  26.     xin = int(xixi)
复制代码


想实现,输入类型错误,如何返回重新输入再循环
最佳答案
2020-4-26 19:31:08
第 2 行已经将 xixi 转化为整数了,再进行判断已经迟了,如果用户输入的不是整数会在第 2 行就报错。所以第 3 行完全没有意义。

判断一个字符串是否可以强制转化为整数可以使用 str.isdigit :

  1. xixi = input('来聊聊天:')
  2. while not xixi.isdigit():    # 当用户输入的不是整数时执行循环
  3.     xixi = input('来聊聊天:')
  4. xi = int(xixi)
  5. a = 3
  6. ha = 9
  7. xin = 6
  8. print("我的心里有谁",end = '')
  9. while ha != 12 and a > 0:
  10.     num = input()
  11.     e = int(num)
  12.     a = a-1
  13.     if e == xin:
  14.         print('猜对了')
  15.     else :
  16.         if e > xin :
  17.              print('大了哦')
  18.         else :
  19.              print('小了呢')
  20.         if a > 0 :
  21.             print('再试试')
  22.         else :
  23.             print('改天再试试')
  24. print('晚上一起吃饭吧!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-26 19:31:08 | 显示全部楼层    本楼为最佳答案   
第 2 行已经将 xixi 转化为整数了,再进行判断已经迟了,如果用户输入的不是整数会在第 2 行就报错。所以第 3 行完全没有意义。

判断一个字符串是否可以强制转化为整数可以使用 str.isdigit :

  1. xixi = input('来聊聊天:')
  2. while not xixi.isdigit():    # 当用户输入的不是整数时执行循环
  3.     xixi = input('来聊聊天:')
  4. xi = int(xixi)
  5. a = 3
  6. ha = 9
  7. xin = 6
  8. print("我的心里有谁",end = '')
  9. while ha != 12 and a > 0:
  10.     num = input()
  11.     e = int(num)
  12.     a = a-1
  13.     if e == xin:
  14.         print('猜对了')
  15.     else :
  16.         if e > xin :
  17.              print('大了哦')
  18.         else :
  19.              print('小了呢')
  20.         if a > 0 :
  21.             print('再试试')
  22.         else :
  23.             print('改天再试试')
  24. print('晚上一起吃饭吧!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 19:38:03 | 显示全部楼层
zltzlt 发表于 2020-4-26 19:31
第 2 行已经将 xixi 转化为整数了,再进行判断已经迟了,如果用户输入的不是整数会在第 2 行就报错。所以第 ...

谢谢你奥,我晓得啦,ღ( ′・ᴗ・` )比心
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 19:57:02 | 显示全部楼层
zltzlt 发表于 2020-4-26 19:38
如果你的问题已解决,请设置【最佳答案】

自己设了吧,好多白嫖怪……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 19:57:55 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-26 19:57
自己设了吧,好多白嫖怪……

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 20:07:05 | 显示全部楼层
zltzlt 发表于 2020-4-26 19:31
第 2 行已经将 xixi 转化为整数了,再进行判断已经迟了,如果用户输入的不是整数会在第 2 行就报错。所以第 ...

奥奥。灰常不好意思。
我第一次提问,有些鸡冻,忘记辽。 ̄□ ̄||尴尬
以后会注意的,谢谢你Thanks♪(・ω・)ノ
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-26 20:07:48 | 显示全部楼层
windsnow 发表于 2020-4-26 20:07
奥奥。灰常不好意思。
我第一次提问,有些鸡冻,忘记辽。 ̄□ ̄||尴尬
以后会注意的,谢谢你Thanks&# ...

没关系啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-18 05:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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