Python程序不工作,Python空闲不';他把错误都说出来了
所以我喜欢编程,喜欢十六进制;我正在用python开发一个计算器,它将十六进制转换为十进制,用十进制执行所需的操作,然后将答案转换为十六进制。程序不工作,标准的pythonidle(安装python时是标准的)说有语法错误,但是当我按下“F5”键(运行程序)然后打开shell时,它只会说“无效语法”,而不是像正常情况一样显示错误。我在shell中逐行输入程序,并且在Python程序不工作,Python空闲不';他把错误都说出来了,python,hex,calculator,Python,Hex,Calculator,所以我喜欢编程,喜欢十六进制;我正在用python开发一个计算器,它将十六进制转换为十进制,用十进制执行所需的操作,然后将答案转换为十六进制。程序不工作,标准的pythonidle(安装python时是标准的)说有语法错误,但是当我按下“F5”键(运行程序)然后打开shell时,它只会说“无效语法”,而不是像正常情况一样显示错误。我在shell中逐行输入程序,并且在def ansDef(oper):函数中的某个地方。 代码如下: print("Valid operations: +, -, *,
def ansDef(oper):
函数中的某个地方。
代码如下:
print("Valid operations: +, -, *, /, ^, rt")
numA = input("Enter first number: ")
oper = input("Enter operation: ")
numB = input("Enter second number: ")
baseA = int(numA, 16)
baseB = int(numB, 16)
numBRT = float(1) / float(baseNumB)
def ansDef(oper):
return{
"+":
baseAns == float(baseA) + float(baseB)
"-":
baseAns == float(baseA) - float(baseB)
"*":
baseAns == float(baseA) * float(baseB)
"/":
baseAns == float(baseA) / float(baseB)
"^":
baseAns == float(baseA) ** float(baseB)
"rt":
baseAns == float(baseA) ** float(numBRT)
}.get(oper, return{
print("ERROR: INVALID OPERATION")
})
ans = hex(baseAns)
print(ans)
只需将您的代码重写为
Python
语法的一个示例,就值得阅读一次或官方教程
print("Valid operations: +, -, *, /, ^, rt")
numA = input("Enter first number: ")
oper = input("Enter operation: ")
numB = input("Enter second number: ")
baseA = int(numA, 16)
baseB = int(numB, 16)
def ansDef(oper, a, b):
if oper == "+":
return a + b
elif oper == "-":
return a - b
elif oper == "*":
return a * b
elif oper == "/":
return a / b
elif oper == "^":
return a ** b
elif oper == "rt":
return a ** 1.0 / b
else:
raise Exception("ERROR: INVALID OPERATION")
try:
baseAns = ansDef(oper, float(baseA), float(baseB))
ans = hex(int(baseAns))
print(ans)
except Exception as e:
print(e)
您有一个
return
语句作为dict.get()
参数的一部分。这是错误的。解决这个问题后,你必须实际调用这个函数,而不是假设它是自动调用的,然后尝试引用它的局部变量。我会说这是回到绘图板(或)上。问题是dict项目需要以逗号结尾。将baseAns==float(baseA)+float(baseB)
更改为baseAns==float(baseA)+float(baseB),
(注意末尾的逗号)。。。等等。谢谢你的回复,但我不会采纳你的建议。我讨厌例外情况,觉得它们很烦人。下面是最后一个有效程序的github链接: