Найти - Пользователи
Полная версия: Простой калькулятор
Начало » Python для новичков » Простой калькулятор
1
Mikiadier
Я создал простой калькулятор
У меня вопрос можно ли сделать это все без функций def или нет
если да то как или лучше использовать def
 def menu():
    print('')
    print('')
    print('')
    print("""Меню
--Прибавить-[1]
--Отнять-[2]
--Умножить-[3]
--Разделить-[4]
--Выйти-[5]""")
    menut = input('-->:')
    if menut >= '6':
        print('Ошибка:нет такого числа в меню')
        menu()
    if menut == '1':
        plus()
    if menut == '2':
        minus()
    if menut == '3':
        multiply()
    if menut == '4':
        divide()
    if menut == '5':
        quit()
        
def plus():
    m1 = int(input("первый множитель:"))
    m2 = int(input("второй множитель:"))
    s = (m1) + (m2)
    print('ответ:' ,s)
    menu()
def minus():
    y = int(input("уменьшаемое:"))
    v = int(input("вычитаемое:"))
    print('ответ:',y - v)
    menu()
def multiply():
    m1 = int(input("первый множитель:"))
    m2 = int(input("второй множитель:"))
    print('ответ:',m1 * m2)
    menu()
def divide():
    d1 = int(input("делимое:"))
    d2 = int(input("делитель:"))
    print('ответ:',d1 / d2)
    menu()
menu()
marvellik
Mikiadier
все без функций def или нет
конечно можно при помощи условий
 if input() = '-':
   y = int(input("уменьшаемое:"))
   v = int(input("вычитаемое:"))
   print('ответ:',y - v)
и так далее
old_monty
Mikiadier
вопрос можно ли сделать это все без функций def или нет
Конечно можно без def.
В Python очень просто можно сделать простой калькулятор, и он будет принимать не обязательно 2 числа, можно больше, и выполнять более сложные вычисления, например со скобками.
Можно также обойтись без меню.
 # -*- coding: utf-8 -*-
user = "Y" # ответ пользователя
while user == "Y" or user == "y":
    s = input("Введите числа, действия (+, -, *, / и **) и скобки, если необходимо:\n ")
    print("Ответ: ", eval(s))
    user = input("Продолжать (введите Y или y) или закончить (N или n)? ")
    if user == "N" or user == "n":
        break
Вот как он работает:
Введите числа, действия (+, -, *, / и **) и скобки, если необходимо:
2.5+3.5
Ответ: 6.0
Продолжать (введите Y или y) или закончить (N или n)? y
Введите числа, действия (+, -, *, / и **) и скобки, если необходимо:
3.14159*2
Ответ: 6.28318
Продолжать (введите Y или y) или закончить (N или n)? y
Введите числа, действия (+, -, *, / и **) и скобки, если необходимо:
(26.5 - 1.5)**0.5
Ответ: 5.0
Продолжать (введите Y или y) или закончить (N или n)? y
Введите числа, действия (+, -, *, / и **) и скобки, если необходимо:
(26.5 - 1.5)*25 - 1/2
Ответ: 624.5
Примечание: конечно, это очень упрощенный код. В нем нет никаких проверок на некорректные действия пользователя (ввод букв вместо цифр и т.д.)
Mikiadier
old_monty
Спасибо буду использовать
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