面包店打折程序-有空的大神帮忙看看
本帖最后由 heidern0612 于 2021-1-14 10:30 编辑while not d_time ==(0,23): 这个写法没见过。
一般都是d_time<0 or d_time >23. 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('对不起,活动结束,下次再来!') 本帖最后由 qq1151985918 于 2021-1-14 10:52 编辑
下次记得发代码,不是谁都像我给你再敲一遍{:9_227:}print('面包店正在打折,活动正在进行中。。。')
while True:
d_day = input('请输入中文星期:')
if d_day not in ['星期一','星期二','星期三','星期四','星期五','星期六','星期日']:
print('输入有误,请重新输入')
continue
else:
break
while True:
d_time = int(input('请输入时间(小时):'))
if d_time < 0 or d_time > 23:
print('输入有误,请重新输入')
continue
else:
break
if (d_day == '星期二' and 19 <= d_time <= 20 or
d_day == '星期六' and 17 <= d_time <= 18 ):
print('恭喜获得打折!')
else:
print('对不起,活动结束!')
print('面包店正在打折,活动正在进行中······')
while True:
d_day = input('请输入中文星期(如星期一):')
while not d_day == ('星期一' or '星期二' or '星期三' or \
'星期四' or '星期五' or '星期六' or '星期日'):
#这里是问题1:
#你用括号括起来也没用
#语法应该是 d_day == '星期一' or d_day == '星期二',不能省略
#省略了之后就是 d_day == '星期一' or '星期二'
#而 '星期二' 为 True
#同时问题2:
# not 不是这样用的
# not 前应该有比较参数
#你的情况更适合用不等于 !=
#下边情况一样的
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('对不起,活动结束,下次再来!') qq1151985918 发表于 2021-1-14 10:44
下次记得发代码,不是谁都像我给你再敲一遍
{:10_266:},哥,
,谢谢这么详细的注释,对我这新手非常有用! xandersam 发表于 2021-1-14 11:16
,哥,
,谢谢这么详细的注释,对我这新手非常有用!
不客气,好好学。我在你基础上又给你改了下,不再是我自己敲的那个,你再看看应该对你也有些好处print('面包店正在打折,活动正在进行中······')
while True:
d_day = input('请输入中文星期(如星期一),输入x退出:')
if d_day in ['x','X']:
break
while d_day not in ('星期一' , '星期二' , '星期三', \
'星期四' , '星期五' , '星期六' , '星期日'):
#这次我是在你的基础上改的而不是我自己重新敲的
#我是想说, not 也是可以用的,一般要起判断作用的话 就是这种用法
#而单单只是用 not 就需要 not True 或者 not False
#就是我下边代码中 not 的用法
d_day = input('输入有误!请重新输入中文星期(如星期一):')
d_time = input('请输入时间中的小时(范围:0~23):')
while not d_time.isdigit() or not (int(d_time)>=0 and int(d_time)<=23):
d_time = input('输入有误!请输入时间中的小时(范围:0~23):')
#这里我用的 not 就是前边没有条件判断参数
#但是我选择的就是 not 后边的条件只有 True 或者 False
#这里应该你在理解下,并不难
# isdigit()是判断字符串是否只由数字组成
d_time = int(d_time)
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('对不起,活动结束,下次再来!')
qq1151985918 发表于 2021-1-14 11:37
不客气,好好学。我在你基础上又给你改了下,不再是我自己敲的那个,你再看看应该对你也有些好处
感谢感谢,长知识了
页:
[1]