Repository navigation
Expand file tree
/
Copy pathmain.py
More file actions
276 lines (235 loc) · 13.9 KB
/
Copy pathmain.py
File metadata and controls
276 lines (235 loc) · 13.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
# Цель задания
# Научиться работать с условным оператором if.
def input_number(text, min, max):
try:
num = int(input(text))
if num >= min and num <= max:
return num
else:
print("Не принимаю меньше", min, "и больше", max)
return input_number(text, min, max)
except ValueError:
print("Вы точно вводите число? Попробуйте снова.")
return input_number(text, min, max)
#Что нужно сделать:
#Зайдите в файлы с заданиями и исправте так чтобы вывод соотвествовал условиям.
print('Задача 1. Датчик погоды')
print()
# В квартире стоит датчик погоды за окном
# , который определяет, идёт дождь или нет.
# Если пошёл дождь, датчик оповещает владельцев сообщением: «Пошёл дождь. Возьмите зонтик!»
# Напишите программу,
# которая получает на вход число 0 или 1.
# Единица означает, что дождь идёт.
# Если дождь идёт, то выводите на экран сообщение: «Пошёл дождь. Возьмите зонтик!».
# Пример:
# На улице идёт дождь? 1
# Пошёл дождь. Возьмите зонтик!
# Пример 2:
# На улице идёт дождь? 0
# Дождя нет =)
sensor = input_number('Что передал датчик за окном? ', 0, 1)
if sensor == 1:
print('Пошёл дождь. Возьмите зонтик! ☔')
else:
print('Дождя нет 🌂')
print()
print()
print('Задача 2. Поступление')
print()
# Степан хочет поступить на бюджет в престижный университет,
# но для этого ему нужно хорошо сдать три экзамена и набрать как минимум 270 баллов.
# Напишите программу,
# которая запрашивает у пользователя результаты ЕГЭ по трём экзаменам
# и проверяет, поступил он в институт или нет.
# Выведите соответствующее сообщение.
# Пример:
# Введите кол-во баллов по русскому языку: 90
# Введите кол-во баллов по математике: 90
# Введите кол-во баллов по информатике: 90
# Поздравляю, ты поступил на бюджет!
# Пример 2:
# Введите кол-во баллов по русскому языку: 100
# Введите кол-во баллов по математике: 50
# Введите кол-во баллов по информатике: 70
# К сожалению, ты не прошёл на бюджет.
lang = input_number('Сколько баллов по русскому языку: ', 0, 100)
math = input_number('Сколько баллов по математике: ', 0, 100)
informatica = input_number('Сколько баллов по информатике: ', 0, 100)
if lang + math + informatica >= 270:
print('Поздравляю, ты поступил на бюджет!')
else:
print('К сожалению, ты не прошёл на бюджет.')
print()
print()
print('Задача 3. Следим за зубами')
print()
# Стоматолог посоветовал Маше использовать зубную нить каждый чётный день.
# Чтобы не забывать, Маша написала скрипт на Python,
# который в случае чего напоминает ей про совет стоматолога.
# Напишите программу, которая проверяет, чётное ли число ввёл пользователь,
# и выводит соответствующее сообщение.
# Подсказка: для проверки чётности используйте оператор %.
day = input_number('Какое сегодня число (месяца)? ', 1, 31)
if day % 2 == 0:
print('Сегодня следует использовать зубную нить.')
else:
print('Сегодня нечётное. Зубную нить - завтра.')
print()
print()
print('Задача 4. Калькулятор скидки')
print()
# Андрей переехал на новую квартиру, и ему нужно купить три стула в разные комнаты.
# Естественно, цена на стулья в разных магазинах различается,
# а где-то ещё и скидка есть.
# Вот для одного из таких магазинов он и написал калькулятор скидки,
# чтобы проще ориентироваться в ценах.
# Напишите программу,
# которая запрашивает три стоимости товара и вычисляет сумму чека.
# Если сумма чека превышает 10 000 рублей,
# то нужно вычесть из этой суммы скидку 10% (умножить на 10, разделить на 100).
# В конце вывести итоговую сумму на экран.
chair_1 = input_number('Цена 1 стула? ', 1, 9999999)
chair_2 = input_number('Цена 2 стула? ', 1, 9999999)
chair_3 = input_number('Цена 3 стула? ', 1, 9999999)
total = chair_1 + chair_2 + chair_3
if total > 10000:
total = total - total / 10
print('Применилась скидка!')
print('Заплатить нужно:', total, 'руб.')
print()
print()
print('Задача 5. Модуль числа')
print()
# Математик Саша пишет программу, которая должна строить график функции y = |x|.
# Для этого ему нужно находить модуль очередного числа x,
# то есть если число x отрицательное, то переводить его в положительное.
# Напишите программу, которая выводит на экран модуль введённого числа.
#
# Пример:
# Ввели 5, ответ 5
# Ввели −7, ответ 7
#
# Подсказка: достаточно в некоторых случаях переприсвоить переменную со знаком минус.
x = input_number('Введите значение x: ', -9999999, 9999999)
if x >= 0:
y = x
else:
y = -x
print('При x = ' + str(x), ', y = ' + str(y))
print()
print()
print('Задача 6. Игра в кубики')
print()
# Костя играет в азартную игру с кубиками с владельцем заведения.
# Правда, с довольно интересными правилами:
# если у Кости на кубике выпадет столько же или больше, чем у владельца,
# то Костя задолжает разность в тысячах долларов.
# Однако если выпадет меньше,
# то Косте выплатят столько тысяч долларов, сколько будет в сумме очков на кубиках.
# На вход в программу подаётся два числа.
# Если первое число больше либо равно второму,
# нужно вывести на экран их разность и отдельной строкой фразу: «Костя платит».
# В противном случае вывести их сумму и отдельной строкой — фразу: «Владелец платит».
# Также последней строкой в результате нужно вывести на экран фразу: «Игра окончена».
# Пример:
# Кубик Кости: 3
# Кубик владельца: 4
# Сумма: 7
# Владелец платит
# Игра окончена
client = input_number('Кубик Кости: ', 1, 6)
owner = input_number('Кубик владельца: ', 1, 6)
if client >= owner:
if client > owner:
print('Костя платит $', (client - owner) * 1000)
else:
print('Костя платит (???) $', (client - owner) * 1000)
else:
print('Владелец платит $', (client + owner) * 1000)
print('Игра окончена')
print()
print()
print('Задача 7. Банкомат')
print()
# Пользователи банкомата хотят снимать деньги.
# Но банкомат умеет выдавать только купюры по 100 рублей.
# Напишите программу,
# которая проверяет допустимость суммы средств, которую ввёл пользователь.
# Пример:
# Введите сумму, которую хотите снять: 250
# Такую сумму снять невозможно. Обратитесь в другой банкомат.
amount = input_number('Введите сумму, которую хотите снять: ', 1, 9999999)
if amount % 100 != 0:
print('Такую сумму снять невозможно. Обратитесь в другой банкомат.')
else:
print('Получите', int(amount / 100), 'купюр по 100 р.')
print()
print()
print('Задача 8. Тяжёлая жизнь')
print()
# Георгий работает по часам и неофициально
# на какой-то сомнительной работе,
# на которой его зарплата высчитывается по следующей формуле:
# 200 * hours / 2 ** 3 + hours
# Он хочет понять, сколько часов нужно отработать,
# чтобы хватило на погашение кредита и на еду.
# Напишите программу,
# которая запрашивает у пользователя три числа:
# количество отработанных часов,
# остаток по кредиту и количество денег на еду.
# После этого рассчитывается зарплата по формуле,
# и если зарплата больше либо равна сумме денег на кредит и еду,
# то выводится сообщение: «Часов хватает. Можно отдохнуть»,
# в противном случае: «Часов не хватает. Придётся работать!».
# Пример:
# Введите отработанные часы: 80
# Введите остаток по кредиту: 1000
# Введите траты на еду: 5000
# Часов не хватает. Придётся поработать!
hours = input_number('Введите отработанные часы: ', 1, 99999999)
credit = input_number('Какой очередной платеж по кредиту? ', 1, 99999999)
food = input_number('Введите траты на еду: ', 1, 99999999)
incom = 200 * hours / 2**3 + hours
if incom >= credit + food:
print('Часов хватает. Можно отдохнуть.')
else:
print('Часов не хватает. Придётся работать!')
print()
print()
print('Задача 9. Плохой циферблат')
print()
# У Саши в грузовике стоит суперсовременный цифровой циферблат для подсчёта пробега,
# но он постоянно глючит и сбрасывается.
# Саша заметил закономерность:
# каждый раз, когда сумма цифр на циферблате превышает число текущего дня,
# циферблат сбрасывается.
# Напишите программу,
# которая получает на вход от пользователя два числа: пробег и номер дня (первое — обязательно трёхзначное),
# затем находит сумму цифр первого числа,
# и если эта сумма больше второго числа,
# выводит сообщение: «Сброс», — и сбрасывает пробег до нуля.
# В противном случае выводится: «Сегодня не сломался».
# В конце также выводится сам пробег.
run = input_number('Введите пробег: ', 0, 999)
day = input_number('Введите сегодняшнее число: ', 1, 31)
sum_digits = sum(map(int, str(run))) # применяю int для каждого знака строки
if run > day:
print('Сброс')
run = 0
else:
print('Сегодня не сломался.')
print('Пробег:', run)
print()
print()
print('Задача 10. Максимальное число (по желанию)')
print()
# Пользователь вводит три числа.
# Напишите программу,
# которая выводит на экран максимальное из этих трёх чисел (все числа разные).
# Можно использовать дополнительные переменные, если нужно
number_1 = input_number('Введите первое число: ', 0, 999999999999999999999)
number_2 = input_number('Введите второе число: ', 0, 999999999999999999999)
number_3 = input_number('Введите третье число: ', 0, 999999999999999999999)
res = max(number_1, number_2, number_3)
print('Максимальное число:', res)