Top.Mail.Ru
Ответы

Как мне сделать так чтобы 2+2 стало int

12345678910
 Vvod = "" 
while True: 
    ZnakOrNum = input("Число, символ\n") 
    if ZnakOrNum == "=":  
        ans = int(Vvod) 
        print(ans) 
        break 
    Vvod += ZnakOrNum 
    print (Vvod) 
 

хочу чтобы в калькулятор вводилось выражение, а потом выражение переводилось в int(), и считалось как выражение. Но он жалуется на то что + нельзя перевести в Int. как мне это реализовать?

По дате
По рейтингу
Аватар пользователя
Просветленный
1234567891011121314151617
 Vvod = 0  
while True:   
    ZnakOrNum = input("Число, символ\n")   
    if ZnakOrNum == "=": 
        print(Vvod)   
        break 
    if "+" in ZnakOrNum: 
        r = ZnakOrNum.split("+") 
        ZnakOrNum = int(r[0]) + int(r[1])
    elif "*" in ZnakOrNum: 
        r = ZnakOrNum.split("*") 
        ZnakOrNum = int(r[0]) * int(r[1])
    #... и т.д. 
    else: 
        #... 
    Vvod += ZnakOrNum
    print(Vvod) 

Но, конечно, это всё должно решаться не так. А через словарь или какой-нибудь eval() даже.

Аватар пользователя
Ученик

Создай отдельно массив для чисел и отдельно массив для знаков. В if сравнивай элемент массива знаков с условием, например, если знак +, то пишешь первый элемент массива чисел + второй элемент массива чисел, и так пропиши все варианты выражений

Аватар пользователя
Гуру

Какой инт? 2+2 всегда 6