用python编写一个点餐程序_急急急!求大神帮忙做个Python在线点餐小软件

匿名用户

1级

2014-10-26 回答

User={}

List=open("USER.txt","r")

for _list in List:

_List=_list.split()

User[_List[0]]=_list[2]

List.close()

List1=open("USER.txt","a")

print ("Welcome")

print ("是否需要注册?(Y/N):")

a1=True

while a1:

_a=input("请输入选择:")

if _a not in ["Y","y","N","n"]:

print ("WARRING:请输入Y或者N进行选择")

continue

else:

a1=False

a1=True

if _a in ["Y","y"]:

print ("----------------注册界面----------------")

while a1:

a_id=input("请输入ID:")

if a_id in User:

print ("ID被占用,请重新输入!")

continue

else:

while a1:

a_pass=input("请输入密码:")

a_pass1=input("请再次输入密码:")

if a_pass!=a_pass1:

print ("两次密码不正确!重新输入")

continue

else:

List1.write(a_id)

List1.write("\t")

List1.write(a_pass)

List1.write("\n")

print ("注册完毕,将转入登录界面!")

a1=False

else:

None

List1.close()

print ("----------------登录界面----------------")

a1=True

while a1:

b1=input("请输入账号:")

b2=input("请输入密码:")

try:

User[b1]

except:

print ("账号错误,请重新输入!")

continue

if User[b1]!=b2:

print ("账号密码输入错误,请重新输入!")

continue

else:

a1=False

print ("----------------点餐界面----------------")

print ("1:茄子 10元\n2:白菜:15元\n3:萝卜:20元\n4:肉:30元")

Dict={"1":"茄子","2":"白菜","3":"萝卜","4":"肉"}

Price={"1":10,"2":15,"3":20,"4":30}

print ("请输入要点的菜编号(没输入一份菜请按一次回车):")

a1=True

_a1=1

az=[]

while a1:

ax=input("第%s份(点Q退出点餐):" %(_a1))

if ax=="q" or ax=="Q":

print ("结束点餐!!!")

a1=False

elif ax not in ["1","2","3","4"]:

print ("未开发餐内容!,请重新输入")

continue

else:

az.append(ax)

_a1+=1

a1=True

total=0

while a1:

if az==[]:

print ("您没有点餐!!!!,退出点餐系统!!!")

a1=False

else:

print ("您的餐列表:")

for zz in az:

print ("%s\t%s" %(Dict[zz],Price[zz]))

total+=Price[zz]

print ("一共%s元" %(total))

a1=False

print ("欢迎下次光临!!")

需要Python3以上 不然自己去改print

在PYTHON所在文件夹里做一个USER.txt 用来存储账号密码用

追问:

zz和az我有点看不懂。给你加分

追答:

zz 是遍历 az 读取az里的每一个数据

az是用列表的方式存储点餐内容(ax) -----》 az.append(ax)

开始看错你的需求了 没有看到还要输入一个数量 所以还要加一个参 可能要改为字典才可以 注册和登录的那一步做完了 后面点餐系统很简单的 朋友你可以自己做一下

追问:

问一下 为什么要设置a1=True或False?我有点不明白True和False的用途。

追答:

while a1:

--------------------

a1 为真(True) 进入循环

a1为假(False) 跳出while循环

a1 是用于while 循环 如果不为False 那么while 将一直执行 达到条件的时候 此时不需要继续循环了,那么需要跳出循环,此时将while的条件(即 a1 )设置为False 就跳出while 循环了 .......

定义一个单独的变量值用于while循环是一种常用操作= =! 方便跳出循环 比break 好用 而且看起来很直观和容易看懂.....

-------------

我的a1 这样的变量值取值其实很差, 整个程序就用了这一个变量,中间多次改变这个变量的值, 这种短程序还好 如果是大程序的话很容易看晕头的,大程序的话为了跳出while 循环,最好是每个while都单独定义一个单独的变量

追问:

你好 能加一下 qq吗 我有一些python的问题想请教一下

### 回答1: 好的,这是一个简单的点餐程序的示例: ``` # 定义菜单列表 menu = { '面条': 10, '米饭': 5, '炒饭': 15, '汉堡': 20, '披萨': 25 } # 定义订单列表 order = [] # 获取用户订单 while True: dish = input('请选择菜品(输入"结束"结束点餐):') if dish == '结束': break if dish in menu: order.append(dish) else: print('没有该菜品!') # 计算总价 total_price = 0 for dish in order: total_price += menu[dish] # 显示订单和总价 print('您的订单是:') for dish in order: print(dish) print('总价为:', total_price, '元') ``` 这个程序可以循环询问用户订单,并显示最终的订单和总价。 ### 回答2: 用Python写一个简单的点餐程序可以通过创建一个菜单列表和订单列表来实现。 首先,我们可以创建一个包含菜单选项的菜单列表。每个菜单项包括名称和价格。例如: menu = [ {"name": "牛肉面", "price": 20}, {"name": "炸鸡腿", "price": 15}, {"name": "麻辣烫", "price": 18}, {"name": "红烧肉", "price": 25}, {"name": "糖醋排骨", "price": 28} ] 接下来,我们可以创建一个空的订单列表来存储用户点餐的菜品。例如: order = [] 然后,我们可以使用循环来显示菜单选项供用户选择。用户可以通过输入菜品的编号来点餐。例如: print("欢迎来到点餐系统!") print("请根据菜单选项选择您需要的菜品:") for index, item in enumerate(menu): print(f"{index+1}. {item['name']} - ¥{item['price']}") 选项 = input("请输入菜品编号(按Q退出点餐):") 接下来,我们可以使用条件语句来判断用户的输入,并将选择的菜品添加到订单列表中。例如: while True: if 选项.upper() == 'Q': break elif int(选项) in range(1, len(menu)+1): index = int(选项) - 1 order.append(menu[index]) print(f"{menu[index]['name']}已经加入到订单中。") else: print("无效的选择。请重新输入。") 选项 = input("请输入菜品编号(按Q退出点餐):") 最后,我们可以输出订单中点餐的菜品和总价格。例如: print("您的订单内容如下:") for item in order: print(f"{item['name']} - ¥{item['price']}") 总价格 = sum(item['price'] for item in order) print(f"总金额:¥{总价格}。感谢您的惠顾!") 这就是一个简单的用Python编写点餐程序。根据实际需程序可以进一步完善,并添加其他功能。 ### 回答3: 使用Python编写一个简单的点餐程序可以满足以下功能: 1. 展示菜单:首先,程序需要能够展示出所有提供的菜单选项。这可以通过创建一个包含菜名和价格的字典来实现。 2. 用户选择:其次,程序应该能够让用户进行菜单选择。可以使用input函数让用户输入菜名或者菜品编号进行选择。 3. 订单确认:用户选择完成后,程序需要展示订单明细,并让用户确认订单。确认订单后,程序将计算订单的总金额。 4. 支付金额和找零:程序需要让用户输入支付金额,并计算找零金额,如果支付金额不足,程序需要友好地提示用户。 5. 订单存档:程序可以选择将订单存档,以便将来查看或打印。 下面是一个简单的示例代码: ```python # 菜单选项 menu = { "1": {"name": "鱼香肉丝", "price": 25}, "2": {"name": "宫保鸡丁", "price": 30}, "3": {"name": "回锅肉", "price": 35}, "4": {"name": "水煮鱼", "price": 40} } # 展示菜单 print("菜单:") for item in menu.values(): print(f"{item['name']} - ¥{item['price']}") # 用户选择 order = {} while True: choice = input("请选择菜品编号(按q结束):") if choice.lower() == 'q': break elif choice in menu: dish = menu[choice] if dish['name'] in order: order[dish['name']]['quantity'] += 1 else: order[dish['name']] = {'price': dish['price'], 'quantity': 1} print(f"{dish['name']}已加入订单") else: print("请输入正确的菜品编号") # 展示订单明细 print("订单明细:") total = 0 for dish, info in order.items(): price = info['price'] quantity = info['quantity'] subtotal = price * quantity total += subtotal print(f"{dish} x {quantity} = ¥{subtotal}") # 计算总金额 print(f"总金额:¥{total}") # 支付金额 paid = float(input("请输入支付金额:")) # 计算找零 if paid >= total: change = paid - total print(f"找零:¥{change}") else: print("支付金额不足") # 存档订单 # 这里可以将订单存储到数据库或文本文件中 ``` 这只是一个简单的示例,可以根据实际需进行扩展和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值