|
|
3鱼币
- print("------------------------这是一个计算总票价的程序---------------------------------")
- class Park:
- def __init__(self,weekday,weekend,child,adult):
- self.weekday = weekday
- self.weekend = weekend
- self.child = child
- self.adult = adult
-
- def weekday_price(self):
- global price
- price = int(self.child)*self.weekday*0.5 + int(self.adult)*self.weekday
-
- def weekend_price(self):
- global price
- price = int(self.child)*self.weekend*0.5 + int(self.adult)*self.weekend
-
- while True:
- try:
- date = input("请输入您想星期几去(例如:星期四):")
- a,b= date.split("期",2)
- break
- except:
- print("请重试,请确认自己的格式正确!!!!")
- continue
- child_num = input("请输入小孩的数量(请用数字,例如:3):")
- adult_num = input("请输入大人的数量(同上):")
- all_price = Park(100,120,child_num,adult_num)
- if b == "六" or "日":
- all_price.weekend_price()
- elif b == "一"or"二"or"三"or"四"or"五":
- all_price.weekday_price()
- else:
- print("请检查输入的数据是否符合规范!")
- print("总票价为:%d元"%price)
- print("------------------------------感谢使用该编程----------------------------------")
-
-
-
复制代码
为什么我无论输入礼拜几,它都是按周末的方法算的。代码哪里出现问题了,求大佬详解,谢谢!!
错误原因在你的程序 第28行 和第30行错了
因为 b == '六' or '日' 相当于 (b == '六') or ('日' ) 永远为True
应该改成 if b in [‘六’,‘日’] 和 elif b in ['一', '二','三','四','五']:
|
-
最佳答案
查看完整内容
错误原因在你的程序 第28行 和第30行错了
因为 b == '六' or '日' 相当于 (b == '六') or ('日' ) 永远为True
应该改成 if b in [‘六’,‘日’] 和 elif b in ['一', '二','三','四','五']:
|