Форум сайта python.su
Здраствуйте, помогите пожалуйста решить задачку
В автомат помещается 20 бутылок. При запуске программа генерирует случайное число от 1 до 20, показывающее заполненность автомата на данный момент.
После этого программа выдаёт сообщение “Введи вид тары (A, B, C или D) или закончи работу и получи чек (P)”. Пользователю разрешается вводить только буквы A, B, C, D или P; допустимы как маленькие, так и большие буквы. При вводе другой информации программа выдаёт сообщение “Это не тара” и снова выводит на экран текст “Введи вид тары (A, B, C или D) или закончи работу и получи чек (P)”.
При вводе A, B, C или D нужно проверить заполненность автомата. Если в автомате уже находится 20 бутылок, программа выдаёт сообщение “Больше не помещается” и выводит чек. После вывода чека программа задаёт вопрос “Хочешь продолжить?”. При положительном ответе автомат опустошается так, чтобы поместилось 20 бутылок, и снова выдаётся текст “Введи вид тары (A, B, C или D) или закончи работу и получи чек (P)”. При отрицательном ответе работа заканчивается.
При вводе P программа выводит чек и заканчивает работу.
Вывод чека
На экран выводятся обозначения тары (A, B, C или D) в порядке их ввода. Чек не должен содержать символов, при вводе которых было получено сообщение "Это не тара
Офлайн
Стыдно не могеть такое сделать.
Офлайн
Я только начал в этом направлении, поможите
Офлайн
Traktor
Я только начал в этом направлении, поможите
Офлайн
В самом деле. Вот если б вы попросили “решите задачку, очень надо, я филолог-литературовед и программирование мне трудно дается”, то помогли бы, а тут начинающий программист!, и даже не пытается хоть бы начать решать
Офлайн
Я даже не знаю как начать, читаю литературу, пытаюсь, но здесь с места не сдвинутся, незнаю как проверить буквы, те ли вводит пользователь. Поэтому тормознул уже на самом начале. Предпологаю что это проверка должна быть связана с массивом. Но пока далее никак .Сделал почти ничего. Разясните пожалуйста все ведь когда то начинали .
from random import randint
names=
randint(1,20)
a=0
while “A,B,C,D,P” in names:
try:
b=input(“Введи вид тары (A, B, C или D) или закончи работу и0 получи чек (P)”)
except Error:
print(“Это не тара”)
break
Офлайн
TraktorЗаставьте себя работать над собой.
Я даже не знаю как начать….
Офлайн
import random def play(): bottles = random.randint(1, 20) # заполненность input_list = [] # хранение вводимой тары while True: option = input('Введи вид тары (A, B, C или D) или закончи работу и получи чек (P)').upper() if option not in ('A', 'B', 'C', 'D', 'P'): # ввел херню print('Это не тара') elif option == 'P': # чек print(''.join(input_list)) break elif bottles == 20: # автомат заполнен print('Больше не помещается') more = input('Хочешь продолжить? Да - введи Y, нет - введи что-то другое').upper() if more != 'Y': # финиш break else: # продолж. bottles = 0 else: # введен вид тары input_list.append(option) bottles += 1 play()
Офлайн
Большое спасибо, добрый человек
Офлайн
Напишите программу, которая считывает целое число и выводит текст, аналогичный
приведенному в примере (пробелы важны!):
Пример
Ввод Вывод
179 The next number for the number 179 is 180.
The previous number for the number 179 is 178.
Скажите пожалуйста, правильно ли я ее написал:
a = 179
print ('The next number for the number', a, ‘is’, a+1)
print ('The previous number for the number', a, ‘is’, a-1)
end
Прошу меня извинить, но это вообще первая моя задачка по информатике.
Офлайн