최종 프로젝트를 수행하기 위해 Python을 배웠습니다. 나는 간단한 계산기를 시작했다. 코드가 거의 끝났지 만 오류가 있습니다.계산기에서 오류가 발생했습니다. TypeError : 'float'객체를 호출 할 수 없습니다.
프로그램은 나에게 좋은 결과를 제공하지만, 내가 다른 작업 프로그램을 수행 할 때 나에게이 문제를 제공합니다
TypeError: 'float' object is not callable
프로그램은 연산자를 선택하는 메뉴를 보여줍니다. 값이 기능 데프 numero1에 의해 숫자가() 및 데프 numero2() 인 경우 그 후, 사용자는
당신이 내가 그것을 해결하는 데 도움이 될하시기 바랍니다 번호 1 및 번호 2와 검사의 값을 물어?
프로그램 코드는 다음과 같은 : 당신은 이름을 작동하는 동일한 변수 이름을 사용해서는 안
import os #Importamos librerias que se usan en el programa
import sys
import time
def menu(): #Funcion para crear el menu
os.system('cls')
print ("********** Menu de la calculadora **********")
print ("\t1 - Sumar")
print ("\t2 - Restar")
print ("\t3 - Multiplicar")
print ("\t4 - Dividir")
print ("\t9 - Salir")
def numero1(): #Funcion para introduir un numero como primer valor
while True:
try:
numero1 = float(input("Inserta el primer valor: "))
except ValueError:
print("Introduce un número")
else:
return numero1
def numero2(): #Funcion para introducir un numero como segundo valor
while True:
try:
numero2 = float(input("Inserta el segundo valor: "))
except ValueError:
print("Introduce un número")
else:
return numero2
#Definimos 2 variables que vamos a usar
operador = 0
i = 1
#Mientas que la variable i sea mayor que cero se ejecuta el bucle (SIEMPRE)
while i > 0 :
# Mostramos el menu
menu()
#Preguntamos que operacion quiere realizar
operador = input("¿Que operación quieres realizar?: ")
while operador != "1" and operador != "2" and operador != "3" and operador != "4" and operador != "9":
os.system('cls')
menu()
print("Introduce un operador correcto")
operador = input("¿Que operación quieres realizar?: ")
if operador == "9": #Si es 9 cerramos el programa
os.system('cls')
print("SALIENDO.")
time.sleep(1)
os.system('cls')
print("SALIENDO..")
time.sleep(1)
os.system('cls')
print("SALIENDO...")
time.sleep(1)
sys.exit()
#Realizamos una operacion u otra
if operador == "1":
numero1 = numero1()
numero2 = numero2()
resultado = numero1 + numero2
elif operador == "2":
numero1 = numero1()
numero2 = numero2()
resultado = numero1 - numero2
elif operador == "3":
numero1 = numero1()
numero2 = numero2()
resultado = numero1 * numero2
elif operador == "4":
numero1 = numero1()
numero2 = numero2()
resultado = numero1/numero2
#Mostramos el resultado en pantalla y preguntamos si realizamos otra operación
print("El resultado es: ",resultado)
salir =(input("Pulsa cualquier tecla para realizar otra operación o 9 para salir..."))
if salir == "9":
os.system('cls')
print("SALIENDO.")
time.sleep(1)
os.system('cls')
print("SALIENDO..")
time.sleep(1)
os.system('cls')
print("SALIENDO...")
time.sleep(1)
sys.exit()
전체 추적을하시기 바랍니다.'type (float)'을 인쇄 해보십시오. 다른 것으로 그 유형을 숨길 수 있습니다. –
''operador'가''1 '',''2 "''''3'',''''4 ''와 같은지 검사 할 때, 각각의 경우에 똑같은 코드 행을 불필요하게 반복했습니다. 코드의 선명도를 높이려면 해당 섹션의 첫 번째'if' 문 위로 놓기 만하면됩니다. –