|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
刚学python大约3周,大约学到40课时,课后习题都做,40课时有个类的订票的,就结合easygui做了这个调戏小甲鱼的GUI,就图热闹啊!大神们别说太容易,我就这个水平,如果你们有功夫吐槽我,不如帮我修改一下,我最后有修改意见,多多帮忙啊!谢谢!
程序运行:
快快预购
感谢支持
以下是程序代码:
import easygui as g
g.msgbox("以下纯属娱乐,请勿较真!","Chysial大导电影预购")
msg = "欢迎进入订购Chysial导演大作“小甲鱼大战小客服”的电影订购系统,请填写以下信息申请:"
title = "票价预购系统"
fieldnames = ["*成人人数:","*儿童人数","*是否为工作日(Y/N)"]
fieldvalues = []
fieldvalues = g.multenterbox(msg,title,fieldnames)
target = ["Y","y","N","n"]
while 1:
if fieldvalues == None:
break
errmsg = ""
for i in range(len(fieldnames)):
option = fieldnames[i].strip()
if fieldvalues[i].strip() == "" and option[0] == "*":
errmsg += ("【%s】为必填项。\n\n" % fieldnames[i])
if fieldvalues[2] not in target:
errmsg = errmsg +("*是否为工作日(Y/N)填写不规范,请重新输入:")
if errmsg == "":
break
fieldvalues = g.multenterbox(errmsg,title,fieldnames,fieldvalues)
#形成类别
class Audlt():
def __init__(self,num = 1,data = 0,price = 100):
self.price = 100
self.data = data
self.num = num
if self.data == 0:
self.price = price
else:
self.price = 1.2*price
def revenue(self):
return self.price*self.num
class Child(Audlt):
pass
def calu(num1,num2,time):
while True:
if time =="Y" or time =="y":
data = 0
break
if time == "N" or time == "n":
data = 1
else:
time = input("您的输入有误,请重新输入,今天是否是工作日(Y/N)")
c1 = Audlt(num1,data,100)
c2 = Child(num2,data,50)
return c1.revenue() + c2.revenue()
num1 = int(fieldvalues[0])
num2 = int(fieldvalues[1])
time = fieldvalues[2]
msg="您将花费"+str(calu(num1,num2,time))+"人民币来观看Chysial导演的小甲鱼大战小客服,您觉得值得吗?"+"\n"+"\t"*4+"不值得也要买!"
title="Chysial大导电影预购"
g.msgbox(msg,title)
我想再修改一下,但是水平有限:
1. 是否为工作日,改为本日时间,后续转换为工作日或周末;
2. 再提交订票信息后,再弹出确认窗口,如果不对重新输入!(没金币无法看全部的easygui,不然感觉自己能干);
有劳各位大神帮下忙了!!!
|
|