-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
up #2
base: master
Are you sure you want to change the base?
up #2
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
# 1. Написать программу, которая будет складывать, вычитать, умножать или делить два числа. | ||
# Числа и знак операции вводятся пользователем. После выполнения вычисления программа не должна завершаться, | ||
# а должна запрашивать новые данные для вычислений. | ||
# Завершение программы должно выполняться при вводе символа '0' в качестве знака операции. | ||
# Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'), | ||
# то программа должна сообщать ему об ошибке и снова запрашивать знак операции. | ||
# Также сообщать пользователю о невозможности деления на ноль, если он ввел 0 в качестве делителя. | ||
|
||
sign = "" | ||
|
||
while sign != "0": | ||
print('Введите два числа') | ||
num1 = float(input('Введите первое число: ')) | ||
num2 = float(input('Введите второе число: ')) | ||
sign = "" | ||
|
||
while sign == "": | ||
sign = input('Введите знак операции или 0 для завершения работы: ') | ||
if sign != "0" and sign != "+" and sign != "-" and sign != "*" and sign != "/": | ||
print('Знак операции не распознан') | ||
sign = "" | ||
|
||
result = "" | ||
|
||
if sign == "+": | ||
result = num1 + num2 | ||
elif sign == "-": | ||
result = num1 - num2 | ||
elif sign == "*": | ||
result = num1 * num2 | ||
elif sign == '/': | ||
if num2 != 0: | ||
result = num1 / num2 | ||
else: | ||
print('Ошибка! Деление на ноль невозможно') | ||
|
||
if result != "": | ||
print(f'Результат: {result}') |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# 2. Посчитать четные и нечетные цифры введенного натурального числа. | ||
# Например, если введено число 34560, то у него 3 четные цифры (4, 6 и 0) и 2 нечетные (3 и 5). | ||
|
||
num = int(input('Введите натуральное число: ')) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Отлично |
||
odd = 0 | ||
even = 0 | ||
num_on_work = num | ||
|
||
while num_on_work != 0: | ||
digit = num_on_work % 10 | ||
|
||
if digit % 2 > 0: | ||
odd += 1 | ||
else: | ||
even += 1 | ||
|
||
num_on_work = num_on_work // 10 | ||
|
||
|
||
print(f'В числе {odd} нечетных и {even} четных цифр') |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# 3. Сформировать из введенного числа обратное по порядку входящих в него цифр и вывести на экран. | ||
# Например, если введено число 3486, то надо вывести число 6843. | ||
|
||
num = int(input('Введите целое положительное число: ')) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Отличная работа |
||
|
||
num_on_work = num | ||
num_result = "" | ||
|
||
while num_on_work != "": | ||
digit = num_on_work % 10 | ||
|
||
if num_result == "": | ||
num_result = digit | ||
else: | ||
num_result = num_result * 10 + digit | ||
|
||
if num_on_work < 10: | ||
num_on_work = "" | ||
else: | ||
num_on_work = num_on_work // 10 | ||
|
||
print(f'Результат - {num_result}') | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# 6. В программе генерируется случайное целое число от 0 до 100. | ||
# Пользователь должен его отгадать не более чем за 10 попыток. | ||
# После каждой неудачной попытки должно сообщаться больше или меньше введенное пользователем число, чем то, что загадано. | ||
# Если за 10 попыток число не отгадано, то вывести загаданное число. | ||
|
||
import random | ||
|
||
num_rand = random.randrange(0, 100) | ||
num_try = 10 | ||
|
||
print('Отгадайте целое число от 0 до 100 за 10 попыток') | ||
|
||
while num_try > 0: | ||
num_input = int(input('Введите целое число: ')) | ||
num_try -= 1 | ||
|
||
if num_input == num_rand: | ||
print('Вы угадали') | ||
break | ||
else: | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Можно заменить на |
||
if num_input > num_rand: | ||
print('Ваше число больше загаданного') | ||
else: | ||
print('Ваше число меньше загаданного') | ||
|
||
if num_try == 0: | ||
print(f'Количество попыток исчерпано. Было загадано число {num_rand}') | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
# 8. Посчитать, сколько раз встречается определенная цифра в введенной последовательности чисел. | ||
# Количество вводимых чисел и цифра, которую необходимо посчитать, задаются вводом с клавиатуры. | ||
|
||
def count_digit(num, digit): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Отлично |
||
now_digit = num % 10 | ||
if now_digit == digit: | ||
r = 1 | ||
else: | ||
r = 0 | ||
|
||
if num < 10: | ||
return r | ||
|
||
return r + count_digit(num // 10, digit) | ||
|
||
|
||
cnt = int(input('Введите количество чисел: ')) | ||
digit = int(input('Введите отслеживаемую цифру: ')) | ||
|
||
digit_count = 0 | ||
|
||
while cnt > 0: | ||
num = int(input('Введите число: ')) | ||
digit_count += count_digit(num, digit) | ||
cnt -= 1 | ||
|
||
print(f'Цифра встретилась {digit_count} раз') |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# 9. Среди натуральных чисел, которые были введены, найти наибольшее по сумме цифр. | ||
# Вывести на экран это число и сумму его цифр. | ||
|
||
|
||
def get_num_sum(num): | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. И тут отлично |
||
if num < 10: | ||
return num | ||
return num % 10 + get_num_sum(num // 10) | ||
|
||
|
||
biggest = 0 | ||
summ = 0 | ||
|
||
while True: | ||
num = int(input('Введите натуральное число или 0 для завершения ввода чисел: ')) | ||
|
||
if num == 0: | ||
break | ||
|
||
num_sum = get_num_sum(num) | ||
if num_sum >= summ: | ||
biggest = num | ||
summ = num_sum | ||
|
||
print(f'Число с самой большой суммой цифр - {biggest}, его сумма - {summ}') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Отлично