Скрипт запускается до тех пор, пока не будет вызвана функция «takeotes», а затем просто остановится, когда она должна запустить эту функцию. Нет никаких ошибок, которые он просто останавливает. Почему это?Python не работает Функция
# Please note that this only works in integer values, since there is no change in pence
notes = (1,5,10,20,50) #Value of notes
quantities = [10,8,5,5,1] #Quantities of notes
# Defining variables
notesout = []
total = 0
x = -1
payment = []
# This loop works out the total amount of cash in the cash register
while (x < 4):
x += 1
calc = notes[x]*quantities[x]
total += calc
mon_nd = 70 # Money needed
def takenotes():
print("Please input each notes value, when finished type \"stop\"")
# If input is an int then add to payment list, if not then work out the change
payment = [20,20,20,20]
main()
def main():
# Finds the value of the cash given
paymentV = sum(payment)
changeT = paymentV - mon_nd
# Change the quantities of the 'quantities' variable
for i in payment:
quantities[notes.index(i)] = quantities[notes.index(i)] + 1
while(changeT < 0):
# Works out what amount of change should be given
for i in reversed(notes):
if (changeT - i >= 0):
notesout.append(i)
quantities[notes.index(i)] = quantities[notes.index(i)]-1
changeT -= i
else:
return True
print(notesout)
takenotes()
'payment = [20, 20, 20, 20]' не изменяет глобальную переменную, используйте 'global' или лучше передают значение функции' main() '. – bereal
фактически @imaluengo это неправильно. Обзор кода - это сайт для ** рабочего ** кода, а не для отказа от кода. Это означает: код должен работать не только, он должен давать правильные результаты, так как этот вопрос не является ропий для [codereview.se]. Для получения дополнительной информации см. Https://meta.stackoverflow.com/questions/253975/be-careful-when-recommending-code-review-to-askers?s=1|1.0000 – Vogel612
@ Vogel612 Ouch! Не знал об этом, извините. Полностью подумал, что «CodeReview» на самом деле должен был просматривать код и находить ошибки (поскольку ваш связанный вопрос говорит, что я один из тех, кто не читал справку CodeReview, но я только что выучил хороший урок). Благодаря! Я подумаю дважды, прежде чем снова рекомендовать codereview! :П –