Skip to content

Conversation

mizrael63
Copy link

@mizrael63 mizrael63 commented Oct 30, 2018

#Arslanov Mikhail Vasimovich for GeekBrains

№ 1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь

a = str(input("Введите трехзначное число, сумму и произведение цифр которого вы хотите получить"))
b=int(a[0])
b1=int(a[1])
b2=int(a[2])
print("Сумма: ",b+b1+b2 ,"\nПроизведение", bb1b2)

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

x = 5
y = 6
a = x | y
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
d1 = int(x[1]) #y1
y = str(input("Введите координаты второй точки: "))
e0 = int(y[0]) #x2
e1 = int(y[1]) #y2
k = int((e1-d1)/(e0-d0))
b = int(e1-(e1-d1/e0-d0)e0)
print("Ваше уравнение прямой: y = ",k, "
x +", b)

№6. Пользователь вводит номер буквы в алфавите. Определить, какая это буква.

(1 действ Задаем словарь)
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'}
(2 действ Просим у пользователя ввести номер буквы в алфавите)
d = int(input(“Введите номер буквы в алфавите. Напоминаю что в алфавите 26 букв “)”
(3 действ Выводим номер буквы)
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, “ букв”)
else:
print(“Между вашими буквами находится ещё “, b1-a1, “ букв”)

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

a = input("Введите первое число ")
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, " - среднее значение")

Copy link

@Dzhoker1 Dzhoker1 left a comment

Choose a reason for hiding this comment

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

Оставил комментарии по коду

@@ -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 по умолчанию возвращает строку

# Выполнить над числом 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.

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


#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.

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

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.

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


#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 чтобы не писать алфавит вручную

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 - две буквы. А у вас почему-то три.

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 кодом всё понятно, а в блок-схеме в любом случае возвращается "а"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants