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
72 changes: 72 additions & 0 deletions homework1
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#Arslanov Mikhail Vasimovich
#1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь
a = str(input("Введите трехзначное число, сумму и произведение цифр которого вы хотите получить"))

Choose a reason for hiding this comment

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

Не нужно делать преобразование к строке. input по умолчанию возвращает строку

b=int(a[0])
b1=int(a[1])
b2=int(a[2])
print("Сумма: ",b+b1+b2 ,"\nПроизведение", b*b1*b2)


#2. Выполнить логические побитовые операции "И", "ИЛИ" и др. над числами 5 и 6.
# Выполнить над числом 5 побитовый сдвиг вправо и влево на два знака.
x = 5
y = 6
a = x | y

Choose a reason for hiding this comment

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

Если в задаче больше трёх переменных, давайте им более понятные имена

a1 = x ^ y
a2 = x & y
a3 = x>>2
a4 = x<<2
print(“Результат операции побитового ИЛИ”, a)
print(“Результат операции побитового исключающего ИЛИ”, a1)
print(“Результат операции побитового И”, a2)
print(“Результат операции битового сдвига вправо”, a3)
print(“Результат операции битового сдвига влево”, a4)

#3. По введенным пользователем координатам двух точек вывести уравнение прямой, проходящей через эти точки.
x = str(input("Введите координаты первой точки: "))
d0 = int(x[0]) #x1

Choose a reason for hiding this comment

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

Работает, если координата - цифра. Неудачное решение для получения данных

d1 = int(x[1]) #y1
y = str(input("Введите координаты второй точки: "))
e0 = int(y[0]) #x2
e1 = int(y[1]) #y2
k = int((e1-d1)/(e0-d0))

Choose a reason for hiding this comment

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

Нет проверки деления на ноль

b = int(e1-(e1-d1/e0-d0)*e0)
print("Ваше уравнение прямой: y = ",k, "* x +", b)

#6. Пользователь вводит номер буквы в алфавите. Определить, какая это буква.
#Задаем словарь
das = {1:'a',2:'b', 3:'c',4:'d',5:'e',6:'f',7:'g',8:'h',9:'i',10:'j',11:'k',12:'l',13:'m',14:'n',15:'o',16:'p',17:'q',18:'r',19:'s',20:'t',21:'u',22:'v',23:'w',24:'x',25:'y',26:'z'}

Choose a reason for hiding this comment

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

Посмотрите в сторону import string string.ascii_lowercase чтобы не писать алфавит вручную

#Просим у пользователя ввести номер буквы в алфавите
d = int(input(“Введите номер буквы в алфавите. Напоминаю что в алфавите 26 букв “)”
#Выводим номер буквы
print(“По этому номеру расположена буква “, das[d])

#5. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят, и сколько между ними находится букв.
das_rev = {'a':1,'b':2, 'c':3,'d':4,'e':5,'f':6,'g':7,'h':8,'i':9,'j':10,'k':11,'l':12,'m':13,'n':14,'o':15,'p':16,'q':17,'r':18,'s':19,'t':20,'u':21,'v':22,'w':23,'x':24,'y':25,'z':26}
a = input("Введите первую букву ")
a1 = int(das_rev[a])
print(“Ваша буква находится на “, das_rev[a1], “ месте алфавита”)
b = input(“Введите вторую букву “)
b1 = int(das_rev[b])
print(“Ваша буква находится на “, das_rev[b1]. “ месте алфавита”)
if a1 > b1:
print(“Между вашими буквами находится ещё “, a1-b1, “ букв”)

Choose a reason for hiding this comment

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

Между буквами a и d находятся b и c - две буквы. А у вас почему-то три.

else:
print(“Между вашими буквами находится ещё “, b1-a1, “ букв”)

#9. Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).
a = input("Введите первое число ")

Choose a reason for hiding this comment

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

C кодом всё понятно, а в блок-схеме в любом случае возвращается "а"

b = input("Введите второе число ")
с = input("Введите третье число ")
if a > b:
if a > c:
if b > c:
print(b, " - среднее значение")
else: print(c, " - среднее значение")
else: print(a, " - среднее значение")
elif a < c:
if b > c:
print(c, " - среднее значение")
else: print(b, " - среднее значение")
else: print(a, " - среднее значение")