Skip to content
Open
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
144 changes: 144 additions & 0 deletions dz_2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
# 1. Написать программу, которая будет складывать, вычитать, умножать или делить
# два числа. Числа и знак операции вводятся пользователем. После выполнения
# вычисления программа не должна завершаться, а должна запрашивать новые данные для
# вычислений. Завершение программы должно выполняться при вводе символа '0' в
# качестве знака операции. Если пользователь вводит неверный знак (не '0', '+', '-',
# '*', '/'), то программа должна сообщать ему об ошибке и снова запрашивать знак
# операции. Также сообщать пользователю о невозможности деления на ноль, если он ввел
# 0 в качестве делителя.

print("Введение '0' завершит программу")

while True:
a = input("Знак (+,-,*,/): ")
if a == '0': break
if a in ('+','-','*','/'):
x = int(input("x= "))
y = int(input("y= "))
if a == '+':
print(x+y)
elif a == '-':
print(x-y)
elif a == '*':
print(x*y)
elif a == '/':
if y != 0:
print(x/y)
else:
print("Деление на ноль!")
else:
print("Неверный знак операции!")

# 2. Посчитать четные и нечетные цифры введенного натурального числа.
# Например, если введено число 34560, то у него 3 четные цифры (4, 6 и 0) и 2
# нечетные (3 и 5).

n = int(input("Введите натуральное число: "))
a=0
b=0
while n>0:
if n%2 == 0:
a += 1
else:
b += 1
n = n//10
print("четных -",a, "нечетных -",b)

# 3. Сформировать из введенного числа обратное по порядку входящих в него цифр
# и вывести на экран. Например, если введено число 3486, то надо вывести число
# 6843.

a = int(input("Введите число: "))
b = 0
while a>0:
b = b*10 + a%10
a = a//10
print(b)

# 4. Найти сумму n элементов следующего ряда чисел: 1 -0.5 0.25 -0.125 ...
# Количество элементов (n) вводится с клавиатуры.

a = int(input("Введите число: "))
b = 1
c = 0
for i in range(a):
c += b
b /= -2
print(c)

# 5. Вывести на экран коды и символы таблицы ASCII, начиная с символа под
# номером 32 и заканчивая 127-м включительно. Вывод выполнить в табличной
# форме: по десять пар "код-символ" в каждой строке.

for i in range(32,128):
print(i,chr(i), end='')
if i%10 == 0:
print()

# 6. В программе генерируется случайное целое число от 0 до 100. Пользователь
# должен его отгадать не более чем за 10 попыток. После каждой неудачной попытки
# должно сообщаться больше или меньше введенное пользователем число, чем то, что
# загадано. Если за 10 попыток число не отгадано, то вывести загаданное число.

from random import random
n = round(random() * 100)
i = 1
print("Отгадай число за 10 попыток")
while i <= 10:
a = int(input(str(i) + "-я попытка: "))
if a == n:
print('Угадал')
break
i += 1
else:
print('This is the end. It was', n)

# 7. Напишите программу, доказывающую или проверяющую, что для множества
# натуральных чисел выполняется равенство: 1+2+...+n = n(n+1)/2, где n - любое
# натуральное число.

n = int(input("Введите натуральное число: "))
a = 0
for i in range(1,n+1):
a += i
b = n * (n + 1) // 2
print("Проверка левой стороны равенства ", a)
print("Проверка правой стороны равенства ", b)

# 8. Посчитать, сколько раз встречается определенная цифра в введенной
# последовательности чисел. Количество вводимых чисел и цифра, которую
# необходимо посчитать, задаются вводом с клавиатуры.

a = int(input("Количество чисел: "))
b = int(input("Которую цифру считать: "))
count = 0
for i in range(1,a+1):
c = int(input("Число " + str(i) + ": "))
while c > 0:
if c%10 == b:
count += 1
c = c // 10
print("Было введено",count,"цифр(-ы)",b)

# 9. Среди натуральных чисел, которые были введены, найти наибольшее по сумме
# цифр. Вывести на экран это число и сумму его цифр.

print("Введение '0' завершит программу")
n = int(input("Введите натуральное число: "))
max_a = 0
max_b = 0
while n != 0:
b = n
a = 0
while n>0:
a += n%10
n //= 10
if a > max_a:
max_a = a
max_b = b
n = int(input("Введите натуральное число: "))
print("Число",max_b,"имеет максимальную сумму цифр:", max_a)