鱼C论坛

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

[已解决]while循环如何判断两种条件?

[复制链接]
发表于 2019-8-12 18:08:15 | 显示全部楼层 |阅读模式

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

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

x
  1. salary = input('你的底薪是多少?:')

  2. while not salary.isdigit():
  3.     salary = input('输入不合法,请重新输入:')

  4. FA = input('你这个月是不是全勤(输入yes或no):')

  5. while FA != 'yes' or FA != 'no':
  6.     FA = input('请重新输入(输入yes或no):')

  7. else:
  8.     if FA == 'yes':
  9.         trailsalary = int(salary)*0.8 + 200
  10.         print('你的试用期工资是:',trailsalary)

  11.     elif FA == 'no':
  12.         trailsalary = int(salary)*0.8
  13.         print('你的试用期工资是:',trailsalary)
复制代码


while循环一直过不去,是不能这样用吗?不知道是什么情况。。求指点,感谢!
最佳答案
2019-8-12 18:19:41
把第 08 行的 or 改成 and 就好了。正确代码:
  1. salary = input('你的底薪是多少?:')

  2. while not salary.isdigit():
  3.     salary = input('输入不合法,请重新输入:')

  4. FA = input('你这个月是不是全勤(输入yes或no):')

  5. while FA != 'yes' and FA != 'no':
  6.     FA = input('请重新输入(输入yes或no):')

  7. else:
  8.     if FA == 'yes':
  9.         trailsalary = int(salary)*0.8 + 200
  10.         print('你的试用期工资是:',trailsalary)

  11.     elif FA == 'no':
  12.         trailsalary = int(salary)*0.8
  13.         print('你的试用期工资是:',trailsalary)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-8-12 18:19:41 | 显示全部楼层    本楼为最佳答案   
把第 08 行的 or 改成 and 就好了。正确代码:
  1. salary = input('你的底薪是多少?:')

  2. while not salary.isdigit():
  3.     salary = input('输入不合法,请重新输入:')

  4. FA = input('你这个月是不是全勤(输入yes或no):')

  5. while FA != 'yes' and FA != 'no':
  6.     FA = input('请重新输入(输入yes或no):')

  7. else:
  8.     if FA == 'yes':
  9.         trailsalary = int(salary)*0.8 + 200
  10.         print('你的试用期工资是:',trailsalary)

  11.     elif FA == 'no':
  12.         trailsalary = int(salary)*0.8
  13.         print('你的试用期工资是:',trailsalary)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-8-12 18:36:00 | 显示全部楼层

  1. while FA != 'yes' or FA != 'no':
  2.     FA = input('请重新输入(输入yes或no):')
复制代码

这句有问题
当你输入yes时就是 while 0 or 1
当你输入no时就是 while 1 or 0
当你输入其他东西时就是 while 1 or 1
无论如何都是会进入循环的
你试试换种思路~~~///(^v^)\\\~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2019-8-12 18:37:30 | 显示全部楼层
熊宝宝要当红军 发表于 2019-8-12 18:36
这句有问题
当你输入yes时就是 while 0 or 1
当你输入no时就是 while 1 or 0

大哥,是 while 1 or 1,不是 while 0 or 0
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 2 反对 0

使用道具 举报

发表于 2019-8-12 18:40:23 | 显示全部楼层

  1. while FA != 'yes' and FA != 'no':
  2.     FA = input('请重新输入(输入yes或no):')
复制代码

试试这样⬆
当你输入yes时就是 while 0 and 1,即while 0,不进入循环
当你输入no时就是 while 1 and 0,即while 0,不进入循环
当你输入其他东西时就是 while 1 and 1,即while 1,进入循环
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-12 18:41:46 | 显示全部楼层
zltzlt 发表于 2019-8-12 18:37
大哥,是 while 1 or 1,不是 while 0 or 0

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

使用道具 举报

 楼主| 发表于 2019-8-12 18:51:40 | 显示全部楼层
zltzlt 发表于 2019-8-12 18:19
把第 08 行的 or 改成 and 就好了。正确代码:

明白了,是我没有把and和or搞透彻,感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-8-12 18:52:47 | 显示全部楼层
wrathrhythm 发表于 2019-8-12 18:51
明白了,是我没有把and和or搞透彻,感谢!

不要忘记给最佳答案哦~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-12 18:54:50 | 显示全部楼层
熊宝宝要当红军 发表于 2019-8-12 18:40
试试这样⬆
当你输入yes时就是 while 0 and 1,即while 0,不进入循环
当你输入no时就是 while 1  ...

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-10 03:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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