Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 26, 2018 18:44:16

VASKA_NENEGGR
Зарегистрирован: 2018-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

Я запускаю код и он закрывается.
Пишу калькулятор с двумя действиями в программе SB3.


Вот код:

print(“Умножение - ‘ * ’”)
print(“Деление - ‘ / ’”)
print(“Сложение - ‘ + ’”)
print(“Вычитание - ‘ - ’”)

error1 = “Ошибка…”

def error0():
print(error)

a1 = float(input(“Введите число: ”))

a2 = str(input(“Введите действие: ”))

a3 = float(input(“Введите число: ”))

a4 = str(input(“Введите действие: ”))

a5 = float(input(“Введите числоresult: ”))

result = “”

if a2 == “*”:
result = a1 * a3
elif a2 == “/” and a1 > a3 and a3 > 0:
result = a1 / a3
elif a2 == “-” and a1 > a3:
result = a1 - a3
elif a2 == “+”:
result = a1 + a3
elif a4 == “*”:
print(result * a5)
elif a4 == “-”:
print(result - a5)
elif == “+”:
print(result + a5)
elif a4 == “/”:
print(result / a5)

Прикреплённый файлы:
attachment calculator2.py (876 байт)

Офлайн

#2 Апрель 26, 2018 20:34:33

passant
Зарегистрирован: 2018-02-17
Сообщения: 43
Репутация: +  4  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

Как все грустно
Скажите, а что означает строчка “elif == ”+“:” в вашей программе?

Офлайн

#3 Апрель 26, 2018 21:41:44

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

Я сам новичок, но мне кажется, что ошибка в

 result = “”
и
 result = a1 * a3
Вы строчной переменной присваиваете значение float.

Хотя, даже если я прав, это не объясняет почему у вас закрывается программа.
Должна была упасть с выводом ошибки в терминале

Отредактировано rascally_rabbit (Апрель 26, 2018 21:46:05)

Офлайн

#4 Апрель 27, 2018 04:05:14

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10015
Репутация: +  857  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

VASKA_NENEGGR
Я запускаю код и он закрывается.
Его надо не запускать, а открыть консоль cmd.exe, в ней перейти в директорию с кодом и там уже набирать
python script.py
Тогда консоль не закроется и будет видно ошибку.



Отредактировано py.user.next (Апрель 27, 2018 04:05:37)

Офлайн

#5 Апрель 27, 2018 17:35:28

VASKA_NENEGGR
Зарегистрирован: 2018-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

Все исправил,Запускается.
Но появилась новая проблема:
Я делаю калькулятор из двух действий.
Не понимаю как переменную result сделать float.
Думаю проблема из-за этого.
Кто может мне помочь?

Вот код:

print(“Умножение - ‘ * ’”)
print(“Деление - ‘ / ’”)
print(“Сложение - ‘ + ’”)
print(“Вычитание - ‘ - ’”)

error1 = “Ошибка…”

def error0():
print(error)

a1 = float(input(“Введите число: ”))

a2 = str(input(“Введите действие: ”))

a3 = float(input(“Введите число: ”))

a4 = str(input(“Введите действие: ”))

a5 = float(input(“Введите число: ”))

result = float(0)

if a2 == “*”:
result = a1 * a3
elif a2 == “/” and a1 > a3 and a3 > 0:
result = a1 / a3
elif a2 == “-” and a1 > a3:
result = a1 - a3
elif a2 == “+”:
result = a1 + a3
elif a4 == “*”:
print(result * a5)
elif a4 == “-”:
print(result - a5)
elif a4 == “+”:
print(result + a5)
elif a4 == “/”:
print(result / a5)
input()







Отредактировано VASKA_NENEGGR (Апрель 27, 2018 17:37:14)

Офлайн

#6 Апрель 27, 2018 17:38:33

VASKA_NENEGGR
Зарегистрирован: 2018-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

rascally_rabbit
Я сам новичок, но мне кажется, что ошибка в
Как переменную поставить в режим float.

Офлайн

#7 Апрель 27, 2018 17:39:13

VASKA_NENEGGR
Зарегистрирован: 2018-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

passant
кажите, а что означает строчка “elif == ”+“:” в вашей программе?
Спасибо, помогло.

Офлайн

#8 Апрель 27, 2018 18:41:11

rascally_rabbit
Зарегистрирован: 2016-09-22
Сообщения: 28
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

VASKA_NENEGGR
Как переменную поставить в режим float.
 result = 0.0

Отредактировано rascally_rabbit (Апрель 27, 2018 18:41:36)

Офлайн

#9 Апрель 27, 2018 19:08:50

passant
Зарегистрирован: 2018-02-17
Сообщения: 43
Репутация: +  4  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

rascally_rabbit
Вы строчной переменной присваиваете значение float.
VASKA_NENEGGR
Как переменную поставить в режим float
Коллеги, вы о чем? Это Python, а не С++
 result = "ABCDE"
print("result как строка ",result)
result = 5.25*6.666
print("result как число ", result)
result как строка ABCDE
result как число 34.996500000000005
Тут нет строгой типизации! Что присвоите, тем и будет И менять свой тип данные могут динамически!

Отредактировано passant (Апрель 27, 2018 19:09:46)

Офлайн

#10 Апрель 27, 2018 21:41:03

VASKA_NENEGGR
Зарегистрирован: 2018-04-26
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Не могу понять где у меня ошибка!!!!!!!!!!!!

я пытался усовершенствовать программу и выдает ошибку через терминал:
TabError: inconsistent use of tab and space.

 unno = result - a5
Вот код:
print("Умножение - ' * '")
print("Деление - ' / '")
print("Сложение - ' + '")
print("Вычитание - ' - '")

error1 = "Ошибка..."
result = 0.0

def error0():
print(error)

a1 = float(input("Введите число: "))

a2 = str(input("Введите действие: "))

a3 = float(input("Введите число: "))

a4 = str(input("Введите действие: "))

a5 = float(input("Введите число: "))


if a4 == "":
if a2 == "*":
result = a1 * a3
elif a2 == "/" and a1 > a3 and a3 > 0:
result = a1 / a3
elif a2 == "-" and a1 > a3:
result = a1 - a3
elif a2 == "+":
result = a1 + a3



else:
if a2 == "*":
result = a1 * a3
elif a2 == "/" and a1 > a3 and a3 > 0:
result = a1 / a3
elif a2 == "-" and a1 > a3:
result = a1 - a3
elif a2 == "+":
result = a1 + a3


elif a4 == "*":
unno = result * a5
print(unno)
elif a4 == "-":
unno = result - a5
print(unno)
elif a4 == "+":
unno = result + a5
print(unno)
elif a4 == "/":
unno = result / a5
print(unno)
else:
error0()


input()



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version