Форум сайта python.su
Здравствуйте,
начинаю решать задачу но требуется помощь, пока погряз…в неопределённости:
Для конференции необходимо написать программу, которая будет подсчитывать общую стоимость билетов. Программа должна работать следующим образом:
1. В начале у пользователя запрашивается количество билетов, которые он хочет приобрести на мероприятие.
2. Далее для каждого билета запрашивается возраст посетителя, в соответствии со значением которого выбирается стоимость:
- Если посетителю конференции менее 18 лет, то он проходит на конференцию бесплатно.
- От 18 до 25 лет — 990 руб.
- От 25 лет — полная стоимость 1390 руб.
3. В результате программы выводится сумма к оплате. При этом, если человек регистрирует больше пяти человек на конференцию, то дополнительно получает 20% скидку на полную стоимость заказа.
Ниже - то что придумалось на данный момент, не окончено, сырая заготовка, начало.
Собираю подсказки по реализации:
Nr_Tickets = int(input("please enter which number of tickets do you need: ")) first = Nr_Tickets[0] # сохраняем первый Ticket count = 0 # заводим счетчик result = '' # и результирующую строку for i in range Nr_Tickets # Idea: to go all Nr_Tickets through and to ask for age for each Ticket age(i) = int(input("please enter your age: ")) i += 1 # Then needed to count Ticktes in each age-cathegory. How to realise it? # if age < 18: # Preis_a18 = 0 # print('entry free of cost') # elif 18 <= age < 25: # Preis_18a25 = 990 # print('your costs are 990 RUB per Ticket') # else: # Preis_a25 = 1390 # print(print('your costs are 1390 RUB per Ticket'))
Отредактировано Rikin (Ноя. 29, 2021 00:33:42)
Прикреплённый файлы:
00111.txt (780 байт)
Офлайн
RikinСам я начинающий, сделал вот такое:
Для конференции необходимо написать программу, которая будет подсчитывать общую стоимость билетов.
price_all = 0 while True: try: ticket_number = input('Сколько билетов вы хотите приобрести на мероприятие? ') ticket_number = int(ticket_number) if type(ticket_number) == int: break except ValueError: print('Введите целое число') for i in range(ticket_number): i += 1 while True: try: age_for_ticket = input(f'Для какого возраста билет №{i}? ') age_for_ticket = int(age_for_ticket) if age_for_ticket < 18: print('Билет бесплатный') elif 25 > age_for_ticket >= 18: price_all += 990 print('Стоимость билета: 990 руб.') else: price_all += 1390 print('Стоимость билета: 1390 руб.') if type(age_for_ticket) == int: break except ValueError: print('Введите целое число') if ticket_number > 5: price_all = price_all - ((price_all / 100) * 20) print(f'Сумма к оплате {price_all} руб. с учетом 20%-ой скидки на полную стоимость заказа за регистрацию больше 5-и человек') else: print(f'Сумма к оплате {price_all} руб.')
Офлайн
far4ikg
Большое вам спасибо.
Импульс получен.
Я тут немного по-своему написать удумал и несколько мыслей:
После for i in range (Nr_Tickets) требуется ли еще i += 1 (оно в цикле подразумевается само собой?)?
Отличная идея- подсказка, чтобы выйти из локальных условий if elif по возрастно-ценовым категориям (без него попадение в бесконечный цикл после последнего ввода)
while True:
if ……
elif …..
continue
и перейти к выводу общей суммы к оплате:
print('Сумма к оплате руб.: ‘, price_all)
что за буква и скобки f’…{price_all} в print(f'Сумма к оплате {price_all} руб.') - то мне еще предстоит узнать.
С проверкой ввода == int:
буду завтра разбирать
Офлайн
Rikin
После for i in range (Nr_Tickets) требуется ли еще i += 1 (оно в цикле подразумевается само собой?)?
for i in range(ticket_number)
age_for_ticket = input(f'Для какого возраста билет №{i}? ')
Rikin
Отличная идея- подсказка, чтобы выйти из локальных условий if elif по возрастно-ценовым категориям (без него попадение в бесконечный цикл после последнего ввода)
while True:
if ……
elif …..
continue
if age_for_ticket < 18: print('Билет бесплатный') Continue
Continue
Rikin
что за буква и скобки f’…{price_all} в print(f'Сумма к оплате {price_all} руб.') - то мне еще предстоит узнать.
input(f'Для какого возраста билет №{i}? ')
input('Для какого возраста билет № ', i, '?', sep='')
Отредактировано far4ikg (Ноя. 30, 2021 08:33:24)
Офлайн