Python3 - 标识符中的无效字符 (在公式中)

2 投票
2 回答
2287 浏览
提问于 2025-04-18 02:17

第二个左括号出现了一个无效的字符,这让程序无法识别。这个程序本来是要打印出员工的月薪。我检查了一下我的缩进,感觉没问题,也试着在不同地方去掉了一些括号来替换。

#Input hoursWorked
#Input hourPay
#Ask “Consultancy income? (Leave blank if none)”
#   If value:
#       Input consultFee
#       monthlySalary = ((hourPay - (hourPay * 0.1)) * hoursWorked) + (consultFee – (consultFee * 0.2))
#   Elif no value:
#       monthlySalary = hoursWorked * hourPay
#print (“The monthly wage is $”,monthlySalary)

hoursWorked = input ("Hours worked: ")
hourPay = input ("Hour pay: $")

consultFee = input ("Consultant fee? (Leave blank if none): $")
if consultFee is '':
    monthlySalary = hourPay * 0.1
elif consultFee is not '':
    monthlySalary = ((hourPay - (hourPay * 0.1)) * hoursWorked) + (consultFee – (consultFee * 0.2))

print ("The monthly salary is: $",(int(monthlySalary)))

2 个回答

0

啊哈!这个错误挺棘手的。

>>> original = "–" # the second minus sign
>>> new = "-" # a regular minus sign
>>> ord(original)
8211
>>> ord(new)
45
>>> print(original == new)
False

我猜你的文本编辑器可能自动把减号(-)替换成了一个叫做n-dash的符号()。这两个符号看起来几乎没什么区别!我也会为这个错误纠结很久。

1

你在那个位置用的减号其实不是普通的减号(就是我们常见的短横线),而是一个叫做“长横线”的符号。在同一行的前面你用了一个普通的减号。我觉得在同一个文件里同时出现这两种符号有点奇怪。你需要使用一个专门为编程设计的文本编辑器,或者至少是一个可以处理普通、没有格式的文本的编辑器。

撰写回答