Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 26, 2016 12:00:23

Mikiadier
Зарегистрирован: 2016-12-20
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Простой калькулятор

Я создал простой калькулятор
У меня вопрос можно ли сделать это все без функций 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()

Офлайн

#2 Дек. 26, 2016 18:58:31

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

Простой калькулятор

Mikiadier
все без функций def или нет
конечно можно при помощи условий
 if input() = '-':
   y = int(input("уменьшаемое:"))
   v = int(input("вычитаемое:"))
   print('ответ:',y - v)
и так далее

Офлайн

#3 Дек. 26, 2016 20:02:25

old_monty
Зарегистрирован: 2015-09-27
Сообщения: 238
Репутация: +  20  -
Профиль   Отправить e-mail  

Простой калькулятор

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
Примечание: конечно, это очень упрощенный код. В нем нет никаких проверок на некорректные действия пользователя (ввод букв вместо цифр и т.д.)

Отредактировано old_monty (Дек. 26, 2016 20:05:38)

Офлайн

#4 Дек. 27, 2016 08:49:14

Mikiadier
Зарегистрирован: 2016-12-20
Сообщения: 9
Репутация: +  0  -
Профиль   Отправить e-mail  

Простой калькулятор

old_monty
Спасибо буду использовать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version