Skip to content
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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

up #2

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 38 additions & 0 deletions task_1.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# 1. Написать программу, которая будет складывать, вычитать, умножать или делить два числа.
# Числа и знак операции вводятся пользователем. После выполнения вычисления программа не должна завершаться,
# а должна запрашивать новые данные для вычислений.
# Завершение программы должно выполняться при вводе символа '0' в качестве знака операции.
# Если пользователь вводит неверный знак (не '0', '+', '-', '*', '/'),
# то программа должна сообщать ему об ошибке и снова запрашивать знак операции.
# Также сообщать пользователю о невозможности деления на ноль, если он ввел 0 в качестве делителя.

sign = ""

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Отлично


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}')
20 changes: 20 additions & 0 deletions task_2.py
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('Введите натуральное число: '))

Choose a reason for hiding this comment

The 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} четных цифр')
23 changes: 23 additions & 0 deletions task_3.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# 3. Сформировать из введенного числа обратное по порядку входящих в него цифр и вывести на экран.
# Например, если введено число 3486, то надо вывести число 6843.

num = int(input('Введите целое положительное число: '))

Choose a reason for hiding this comment

The 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}')

28 changes: 28 additions & 0 deletions task_6.py
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:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можно заменить на elif для краткости и читаемости.

if num_input > num_rand:
print('Ваше число больше загаданного')
else:
print('Ваше число меньше загаданного')

if num_try == 0:
print(f'Количество попыток исчерпано. Было загадано число {num_rand}')

27 changes: 27 additions & 0 deletions task_8.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# 8. Посчитать, сколько раз встречается определенная цифра в введенной последовательности чисел.
# Количество вводимых чисел и цифра, которую необходимо посчитать, задаются вводом с клавиатуры.

def count_digit(num, digit):

Choose a reason for hiding this comment

The 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} раз')
25 changes: 25 additions & 0 deletions task_9.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# 9. Среди натуральных чисел, которые были введены, найти наибольшее по сумме цифр.
# Вывести на экран это число и сумму его цифр.


def get_num_sum(num):

Choose a reason for hiding this comment

The 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}')