Программирование на Python «для тупых» 010.1 elif множественные ветвления

preview_player
Показать описание
00:00 Введение
00:58 Задача про время года по месяцу
15:40 Калькулятор
20:04 Третий пример
23:06 Итоги
24:30 Интерактив
25:00 Домашнее задание
31:14 Анонс следующей темы

ДЛЯ ДОНАТОВ
или на карту
5599 0020 1940 9582

Ссылочки на меня:
Рекомендации по теме
Комментарии
Автор

Сенсей, мое почтение!
Спасибо!

Вот прям напрашивается сверять А со списком от АА до ВВ, что бы не расписывать каждый раз интервал =)
Понимая, как организованы занятия, уверен, что это будет впереди и мне пока рановато =)

di
Автор

Спасибо за видео. Ого, сколько домашки, на этой неделе на дискотеку не пойду.

ElenaBoot
Автор

Вот такой калькулятор получился:

#Calc
while True:
print("\n"
"Ввод 'Q' останавливает программу."
"\n")
a = input('Введите первое число: ')
if not a.isdigit():
print("\n"
'Не является числом!'
"\n")
continue
if a=="q" or a=="Q":
break
x = input('Знак действия: ')
if x!='+' and x!='-' and x!='*' and x!='/':
print("\n"
"Не верный знак."
"\n")
continue
if x=="q" or x=="Q":
break
b = input('Введите второе число: ')
if not b.isdigit():
print("\n"
'Не является числом!'
"\n")
continue
if b=="q" or b=="Q":
break
if a=="q" or a=="Q" or x=="q" or x=="Q" or b=="q" or b=="Q":
break
elif x=="+":
print("\n"
"Ответ: ", int(a)+int(b))
elif x=="-":
print("\n"
"Ответ: ", int(a)-int(b))
elif x=="*":
print("\n"
"Ответ: ", int(a)*int(b))
else:
if b=='0':
print("Делить на ноль нельзя!")
else:
print("\n"
"Ответ: ", int(a)/int(b))

ilovehleb
Автор

Доделал калькулятор. Вытащил помощь в отдельную конструкцию, что бы после того как посмотришь команды, можно было их сразу ввести.
Когда сделал, решил полистать комменты, и увидел про деление на ноль. Понял, что не учел эту ситуацию, пришлось допиливать. Получилось вроде нормально

import math

print('Введите "help", что бы получить список доступных команд')
com = input('Введите команду: ')

if com == 'help':
print('Список команд:', 'Введите + для сложения',
'Введите - для вычитания', 'Введите * для умножения',
'Введите / для деления',
'Введите "степень" для возведения в степень',
'Введите "корень" для извлечения квадратного корня',
sep='\n')
com = input('Введите команду: ')

if com == '+':
num1 = int(input('Введите первое число: '))
num2 = int(input('Ведите второе число: '))
print('Сумма чисел', num1, 'и', num2, 'равна', num1+num2)
elif com == '-':
num1 = int(input('Введите первое число: '))
num2 = int(input('Ведите второе число: '))
print('Разность чисел', num1, 'и', num2, 'равна', num1-num2)
elif com == '*':
num1 = int(input('Введите первое число: '))
num2 = int(input('Ведите второе число: '))
print('Произведение чисел', num1, 'и', num2, 'равно', num1*num2)
elif com == '/':
num1 = int(input('Введите первое число: '))
num2 = int(input('Ведите второе число: '))
if num2 == 0: division = 'не определено, делить на 0 нельзя'
else: division = 'равно '+str(num1/num2)
print('Частное чисел', num1, 'и', num2, division)
elif com == 'степень':
num1 = int(input('Введите первое число: '))
num2 = int(input('Ведите второе число: '))
print('Число', num1, 'в степени', num2, 'равно', num1**num2)
elif com == 'корень':
num1 = int(input('Введите первое число: '))
print('Квадратный корень числа', num1, 'равен', math.sqrt(num1))
else: print('Неизвестная команда')

Ribeyra