Найти - Пользователи
Полная версия: Помогите разобраться и понять новичку
Начало » Центр помощи » Помогите разобраться и понять новичку
1
error654
Господа добрый день, не судите строго и не бейте ногами. Недавно начал изучение Python, делаю задачи, собственно возникают в процессе вопросы, что “ясен пень”. Так вот такой вот баян, программа калькулятор, которая при выборе операций сложения, вычитания, умножения, деления и возведения в степень, запрашивает два числа и выводит результат, а при выборе sin, cos и tan, запрашивает одно число и соответственно так же выводит результат. Привожу свою программу если конечно так это можно назвать, собственно меня смущает какая то ее “громоздкость” что ли. Может кто ни будь из знатоков подскажет более элегантный вариант что ли. Спасибо за внимание.
 import math
oper = str(input("Enter your operation: "))
if oper == 'sin' or oper == 'cos' or oper == 'tan':
    x = float(input("x = "))
    if oper == 'sin':
        print("Your result = ", math.sin(x))
    elif oper == 'cos':
        print("Your result = ", math.cos(x))
    elif oper == 'tan':
        print("Your result = ", math.tan(x))
elif oper == '+'or oper == '-' or oper == '*' or oper == '**' or oper == '/':
    x1 = float(input("x1 = "))
    x2 = float(input("x2 = "))
    if oper == '+':
        print("Your result = ", x1 + x2)
    elif oper == '-':
        print("Your result = ", x1 - x2)
    elif oper == '*':
        print("Your result = ", x1 * x2)
    elif oper == '/':
        print("Your result = ", x1 / x2)
    elif oper == '**':
        print("Your result = ", x1 ** x2)
else:
    print("Unsuported operation")
Rodegast
Используй словари:
 import math
 
TRIG_OPERATOR = { 'sin' :math.sin, "cos": math.cos, "tan":math.tan}
 
oper = str(input("Enter your operation: "))
if oper in TRIG_OPERATOR:
    x = float(input("x = "))
    print("Your result = ", TRIG_OPERATOR[oper](x))
else:
    print("Unsuported operation")
error654
Спасибо большое, так конечно намного лучше !
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB