Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Руслан Барновский Знаток (284), на голосовании 2 месяца назад
 Vvod = "" 
while True:
ZnakOrNum = input("Число, символ\n")
if ZnakOrNum == "=":
ans = int(Vvod)
print(ans)
break
Vvod += ZnakOrNum
print (Vvod)
хочу чтобы в калькулятор вводилось выражение, а потом выражение переводилось в int(), и считалось как выражение. Но он жалуется на то что + нельзя перевести в Int. как мне это реализовать?
Голосование за лучший ответ
Майкис Айк Ученик (162) 3 месяца назад
Создай отдельно массив для чисел и отдельно массив для знаков. В if сравнивай элемент массива знаков с условием, например, если знак +, то пишешь первый элемент массива чисел + второй элемент массива чисел, и так пропиши все варианты выражений
Сергей Просветленный (41850) 3 месяца назад
 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() даже.
Руслан БарновскийЗнаток (284) 3 месяца назад
че ты наделал
Сергей Просветленный (41850) Руслан Барновский, жизнь тебе сломал, неадеквату, не ясно что ли?
Похожие вопросы