Если с вложенной функцией? [закрыто]Python

Программы на Python
Ответить
Anonymous
 Если с вложенной функцией? [закрыто]

Сообщение Anonymous »

Итак, у меня возникли проблемы с функцией, которую я создал. Итак, сценарий таков: я хочу проверить заказ после того, как уже ввел товар. Если заказы верны, он автоматически запустит функцию print_receipt и отобразит квитанцию, показанную в таблице. И если заказы неправильные, это приведет к появлению вариантов: хочу ли я отредактировать имя товара/количество/цену, а затем снова мне придется ввести правильное имя/количество/цену, и оно будет обработано до update_name/qty /price функция.
Код детали показан ниже:

Код: Выделить всё

def check_order(self):
check = input("Is the order correct?: (*yes/no)")

if check == 'yes' or check == "Yes":
def print_receipt(self):
index =[]
table = []
headers = ['No','Item Name', 'Item Qty', 'Item Price', 'Total Price']

for idx, _ in enumerate(self.item_dict, start=1):
index.append(idx)

for key, value in self.item_dict.items():
table.append([key, value[0], value[1], value[0]*value[1]])

print(tabulate(table, headers=headers, tablefmt='fancy_grid', stralign="center", showindex=index))
elif check == 'no' or check == 'No':
edit = input("Specify the column you want to input: (*name/quantity/price)")

if edit == 'name' or edit == 'Name':
old_name = input("Write the wrong item name (*make sure the item name is correct):")
new_name = input("Write the new item name:")

def update_item_name(self, old_name, new_name):
if old_name in self.item_dict.keys():
item_list = self.item_dict.get(old_name)
self.item_dict.pop(old_name)
self.item_dict.update({new_name : item_list})
else:
raise Exception("Item does not exist")

return self.item_dict
Я уже пытался запустить его, но после того, как я ввел проверочную переменную (пример: я ввел «да»), функция print_receipt не обработала, как я ожидал.
Интересно, действительно ли мы не можем вставить функцию в оператор if-else? Что-то не так с моим кодом или есть ли лучшее решение этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/793 ... d-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»