类和对象
class Ticket():a = 100 #平日票价
b = 120 #周末票价
c = 50#儿童平日
d = 60#儿童周末
def bb(self):
k= input("成人数量:")
e = input("儿童数量:")
f = input("今天星期(数字1—7):")
if f == "6" or "7":
g = k * int(self.b)
h = e * int(self.d)
return (g+h)
else:
g= k * int(self.a)
h= e * int(self.c)
return (g+h)
定义一个游乐园门票的类,并尝试计算2个成人+1个小孩平日票价:
平日票价100元
周末票价为平日的120%
儿童半票
为什么运行出来的是100或者120个 成人数量和儿童数量?
这样试试:
class Ticket():
a = 100# 平日票价
b = 120# 周末票价
c = 50# 儿童平日
d = 60# 儿童周末
def bb(self):
k = int(input("成人数量:"))
e = int(input("儿童数量:"))
f = input("今天星期(数字1—7):")
if f == "6" or "7":
g = k * int(self.b)
h = e * int(self.d)
return (g + h)
else:
g = k * int(self.a)
h = e * int(self.c)
return (g + h) input接收的是str,要转换成int zltzlt 发表于 2020-8-16 11:58
这样试试:
https://pic.downk.cc/item/5f38b1f714195aa59439e849.png
为啥算出来是300.。。。 小小鹏 发表于 2020-8-16 12:12
为啥算出来是300.。。。
没问题啊,100 * 120% * 2 + 100 * 1/2 * 120% 就是等于 300 zltzlt 发表于 2020-8-16 12:14
没问题啊,100 * 120% * 2 + 100 * 1/2 * 120% 就是等于 300
我以为当我输入成人2个,小孩1个,数字2时,就是运行else里面的内容,也就是2*100+1*50 等于250 小小鹏 发表于 2020-8-16 12:33
我以为当我输入成人2个,小孩1个,数字2时,就是运行else里面的内容,也就是2*100+1*50 等于250
先搞好逻辑啊亲~ 小小鹏 发表于 2020-8-16 12:33
我以为当我输入成人2个,小孩1个,数字2时,就是运行else里面的内容,也就是2*100+1*50 等于250
哦,看错了,这样即可
class Ticket():
a = 100# 平日票价
b = 120# 周末票价
c = 50# 儿童平日
d = 60# 儿童周末
def bb(self):
k = input("成人数量:")
e = input("儿童数量:")
f = input("今天星期(数字1—7):")
if f == "6" or f == "7":
g = k * int(self.b)
h = e * int(self.d)
return (g + h)
else:
g = k * int(self.a)
h = e * int(self.c)
return (g + h) class Ticket():
a = 100# 平日票价
c = 50# 儿童平日
#b = 120# 周末票价
#d = 60# 儿童周末
def bb(self):
k = input("成人数量:")
e = input("儿童数量:")
f = input("今天星期(数字1—7):")
all=int(k)* int(self.a)+int(e) * int(self.c)
if f == "6" or f =="7":
return all*1.2
else:
return all
z=Ticket()
print(z.bb())
价格是整体浮动20%,没必要分开计算吧,input进来的数字要int()处理,if后面的判断写岔了,写完了就好了 if f == "6" or "7"
这一行写的有问题啊 疾风怪盗 发表于 2020-8-16 13:23
价格是整体浮动20%,没必要分开计算吧,input进来的数字要int()处理,if后面的判断写岔了,写完了就好 ...
class Ticket():
a = 100# 平日票价
b = 120# 周末票价
c = 50# 儿童平日
d = 60# 儿童周末
def bb(self):
k = input("成人数量:")
e = input("儿童数量:")
f = input("今天星期(数字1—7):")
if f == "6" or f == "7":
g = int(k) * int(self.b)
h = int(e) * int(self.d)
return (g + h)
else:
g = int(k) * int(self.a)
h = int(e) * int(self.c)
return (g + h)
嗯嗯 你的代码运行是正确的,我最开始的问题就是input进来的数字没有进行int()处理。所以有问题。我现在int()处理,运行的结果也是可以的。 zltzlt 发表于 2020-8-16 12:56
哦,看错了,这样即可
你这个代码就是我最开始的代码。。。 小小鹏 发表于 2020-8-16 14:53
你这个代码就是我最开始的代码。。。
?不是呀 小小鹏 发表于 2020-8-16 14:53
你这个代码就是我最开始的代码。。。
你最开始的代码,有两个错,没有int(),还有就是if判断没写完整 小小鹏 发表于 2020-8-16 14:53
你这个代码就是我最开始的代码。。。
版主帮你改了两次,但是两次都只改了一个错,你再仔细看一下 zltzlt 发表于 2020-8-16 14:55
?不是呀
噢噢我看懂啦 不好意思呀
页:
[1]