鱼C论坛

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

[已解决]面包店打折程序-有空的大神帮忙看看

[复制链接]
发表于 2021-1-14 10:22:36 | 显示全部楼层 |阅读模式

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

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

x
面包店打折.jpg
最佳答案
2021-1-14 10:44:01
本帖最后由 qq1151985918 于 2021-1-14 10:52 编辑

下次记得发代码,不是谁都像我给你再敲一遍
  1. print('面包店正在打折,活动正在进行中。。。')

  2. while True:
  3.     d_day = input('请输入中文星期:')
  4.     if d_day not in ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']:
  5.         print('输入有误,请重新输入')
  6.         continue
  7.     else:
  8.         break
  9. while True:
  10.     d_time = int(input('请输入时间(小时):'))
  11.     if d_time < 0 or d_time > 23:
  12.         print('输入有误,请重新输入')
  13.         continue
  14.     else:
  15.         break
  16. if (d_day == '星期二' and 19 <= d_time <= 20 or
  17.     d_day == '星期六' and 17 <= d_time <= 18 ):
  18.     print('恭喜获得打折!')
  19. else:
  20.     print('对不起,活动结束!')
复制代码
  1. print('面包店正在打折,活动正在进行中······')

  2. while True:
  3.     d_day = input('请输入中文星期(如星期一):')
  4.     while not d_day == ('星期一' or '星期二' or '星期三' or \
  5.           '星期四' or '星期五' or '星期六' or '星期日'):

  6.         #这里是问题1:
  7.         #你用括号括起来也没用
  8.         #语法应该是 d_day == '星期一' or d_day == '星期二',不能省略
  9.         #省略了之后就是 d_day == '星期一' or '星期二'
  10.         #而 '星期二' 为 True
  11.         #同时问题2:
  12.         # not 不是这样用的
  13.         # not 前应该有比较参数
  14.         #你的情况更适合用不等于 !=
  15.         #下边情况一样的
  16.         d_day = input('输入有误!请重新输入中文星期(如星期一):')
  17.    
  18.         
  19.                
  20.     d_time = int(input('请输入时间中的小时(范围:0~23):'))
  21.     while not (d_time>=0 and d_time<=23):
  22.         d_time = input('输入有误!请输入时间中的小时(范围:0~23):')


  23.    
  24.     if ((d_day == '星期二') and (19<=d_time and d_time<=20)) or \
  25.        ((d_day == '星期六') and (17<=d_time and d_time<=18)):
  26.         print('恭喜你,获得打折优惠!')
  27.               
  28.     else:
  29.         print('对不起,活动结束,下次再来!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-14 10:29:49 | 显示全部楼层
本帖最后由 heidern0612 于 2021-1-14 10:30 编辑

while not d_time ==(0,23):    这个写法没见过。

一般都是d_time<0 or d_time >23.
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-14 10:42:54 | 显示全部楼层
heidern0612 发表于 2021-1-14 10:29
while not d_time ==(0,23):    这个写法没见过。

一般都是d_time23.

谢谢,我改了,还是不行。
前面输入星期一可以,但输入星期二就不行了。

代码如下:

print('面包店正在打折,活动正在进行中······')

while True:
    d_day = input('请输入中文星期(如星期一):')
    while not d_day == ('星期一' or '星期二' or '星期三' or \
          '星期四' or '星期五' or '星期六' or '星期日'):
        d_day = input('输入有误!请重新输入中文星期(如星期一):')
   
        
               
    d_time = int(input('请输入时间中的小时(范围:0~23):'))
    while not (d_time>=0 and d_time<=23):
        d_time = input('输入有误!请输入时间中的小时(范围:0~23):')


   
    if ((d_day == '星期二') and (19<=d_time and d_time<=20)) or \
       ((d_day == '星期六') and (17<=d_time and d_time<=18)):
        print('恭喜你,获得打折优惠!')
              
    else:
        print('对不起,活动结束,下次再来!')
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 10:44:01 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qq1151985918 于 2021-1-14 10:52 编辑

下次记得发代码,不是谁都像我给你再敲一遍
  1. print('面包店正在打折,活动正在进行中。。。')

  2. while True:
  3.     d_day = input('请输入中文星期:')
  4.     if d_day not in ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']:
  5.         print('输入有误,请重新输入')
  6.         continue
  7.     else:
  8.         break
  9. while True:
  10.     d_time = int(input('请输入时间(小时):'))
  11.     if d_time < 0 or d_time > 23:
  12.         print('输入有误,请重新输入')
  13.         continue
  14.     else:
  15.         break
  16. if (d_day == '星期二' and 19 <= d_time <= 20 or
  17.     d_day == '星期六' and 17 <= d_time <= 18 ):
  18.     print('恭喜获得打折!')
  19. else:
  20.     print('对不起,活动结束!')
复制代码
  1. print('面包店正在打折,活动正在进行中······')

  2. while True:
  3.     d_day = input('请输入中文星期(如星期一):')
  4.     while not d_day == ('星期一' or '星期二' or '星期三' or \
  5.           '星期四' or '星期五' or '星期六' or '星期日'):

  6.         #这里是问题1:
  7.         #你用括号括起来也没用
  8.         #语法应该是 d_day == '星期一' or d_day == '星期二',不能省略
  9.         #省略了之后就是 d_day == '星期一' or '星期二'
  10.         #而 '星期二' 为 True
  11.         #同时问题2:
  12.         # not 不是这样用的
  13.         # not 前应该有比较参数
  14.         #你的情况更适合用不等于 !=
  15.         #下边情况一样的
  16.         d_day = input('输入有误!请重新输入中文星期(如星期一):')
  17.    
  18.         
  19.                
  20.     d_time = int(input('请输入时间中的小时(范围:0~23):'))
  21.     while not (d_time>=0 and d_time<=23):
  22.         d_time = input('输入有误!请输入时间中的小时(范围:0~23):')


  23.    
  24.     if ((d_day == '星期二') and (19<=d_time and d_time<=20)) or \
  25.        ((d_day == '星期六') and (17<=d_time and d_time<=18)):
  26.         print('恭喜你,获得打折优惠!')
  27.               
  28.     else:
  29.         print('对不起,活动结束,下次再来!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-14 11:16:15 | 显示全部楼层
qq1151985918 发表于 2021-1-14 10:44
下次记得发代码,不是谁都像我给你再敲一遍

,哥,
,谢谢这么详细的注释,对我这新手非常有用!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-14 11:37:27 | 显示全部楼层
xandersam 发表于 2021-1-14 11:16
,哥,
,谢谢这么详细的注释,对我这新手非常有用!

不客气,好好学。我在你基础上又给你改了下,不再是我自己敲的那个,你再看看应该对你也有些好处
  1. print('面包店正在打折,活动正在进行中······')

  2. while True:
  3.     d_day = input('请输入中文星期(如星期一),输入x退出:')
  4.     if d_day in ['x','X']:
  5.         break
  6.    
  7.     while d_day not in ('星期一' , '星期二' , '星期三', \
  8.           '星期四' , '星期五' , '星期六' , '星期日'):
  9.         #这次我是在你的基础上改的而不是我自己重新敲的
  10.         #我是想说, not 也是可以用的,一般要起判断作用的话 就是这种用法
  11.         #而单单只是用 not 就需要 not True 或者 not False
  12.         #就是我下边代码中 not 的用法

  13.         d_day = input('输入有误!请重新输入中文星期(如星期一):')
  14.    
  15.         
  16.                
  17.     d_time = input('请输入时间中的小时(范围:0~23):')
  18.     while not d_time.isdigit() or not (int(d_time)>=0 and int(d_time)<=23):
  19.         d_time = input('输入有误!请输入时间中的小时(范围:0~23):')
  20.         #这里我用的 not 就是前边没有条件判断参数
  21.         #但是我选择的就是 not 后边的条件只有 True 或者 False
  22.         #这里应该你在理解下,并不难
  23.         # isdigit()是判断字符串是否只由数字组成
  24.     d_time = int(d_time)

  25.     if ((d_day == '星期二') and (19<=d_time and d_time<=20)) or \
  26.        ((d_day == '星期六') and (17<=d_time and d_time<=18)):
  27.         print('恭喜你,获得打折优惠!')
  28.               
  29.     else:
  30.         print('对不起,活动结束,下次再来!')
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-14 16:27:50 | 显示全部楼层
qq1151985918 发表于 2021-1-14 11:37
不客气,好好学。我在你基础上又给你改了下,不再是我自己敲的那个,你再看看应该对你也有些好处

感谢感谢,长知识了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-29 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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