我的問題出在 # 行內(nèi)。我不明白為什么 invalidDish 始終為 True,即使在 if 語句之一中將其設(shè)置為 False 后也是如此。class dishes: def __init__(self, serial_no, dish_name, price): self.serial_no = serial_no self.dish_name = dish_name self.price = price def show_menu(self): print(str(self.serial_no) + '. ' + self.dish_name + '\t$' + self.price)def errorMessage(code, range): if code == 'outOfRange': print('***Please enter number 1 - {} only***\n'.format(str(range))) machineRunning()plain_prata = dishes(1, 'Plain prata', '0.50')egg_prata = dishes(2, 'Egg prata', '1.00')cheese_prata = dishes(3, 'Cheese prata', '2.50')garlic_prata = dishes(4, 'Garlic prata', '1.50')ham_prata = dishes(5, 'Ham prata', '2.50')menu = [plain_prata, egg_prata, cheese_prata, garlic_prata, ham_prata]current_order = []def machineRunning(): while True: print('1. Menu') print('2. Add order') print('3. Checkout') value = input('Please input:') try: value = int(value) if value < 1 or value > 3: errorMessage('outOfRange', 3) except ValueError: print('***Please enter number 1 - 3 only***\n') continue if value == 1: print() for x in range(len(menu)): menu[x].show_menu() elif value == 2: dish = input('Dish name/number:') try: dish = int(dish) - 1 if dish < 0 or dish >= len(menu): errorMessage('outOfRange', len(menu))我嘗試按照終端中的代碼進(jìn)行操作,但仍然無法找出問題所在。這是終端的結(jié)果。附言。我正在通過嘗試為一家餐廳制作收銀機(jī)來學(xué)習(xí)Python,生成每周、每月總結(jié)、計(jì)算利潤等。關(guān)于我下一步可以做什么以使這個更加用戶友好有什么建議嗎?就像 python 與其他軟件或代碼對話一樣,使界面易于使用?
1 回答

慕沐林林
TA貢獻(xiàn)2016條經(jīng)驗(yàn) 獲得超9個贊
您將跳出 while 循環(huán),然后使用外部 for 循環(huán)再次循環(huán),然后將 invalidDish 設(shè)置為 True。
添加回答
舉報(bào)
0/150
提交
取消