这是我的代码,它得到了语法错误"Invalid Character in Identifier“。我想不出怎么解决这个问题。如果能得到任何帮助,我将不胜感激。
def number_to_words(n):
if n == 0:
return "zero"
unit = ("", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine")
tens = ("", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety")
teen = ("ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen")
h, t, u = ("", "", "")
if n//100:
h = unit[n//100] + " hundred"
n = n%100
if n >= 20:
t = tens[n//10]
n = n%10
elif n >= 10:
t = teen[n-10]
n = 0
u = unit[n]
return " ".join(filter(None,[h,t,u]))
number_to_words()发布于 2021-01-01 06:00:36
在示例文本中有宽度为零的空格,甚至可能在原始代码中有更多非标准字符(在这里发布之前)。这可能是因为使用了像Word或WordPad这样的编辑器来编写代码。
使用适当的文本编辑器(如Notepad++或UltraEdit )或适当的集成开发环境(如PyCharm或VSCode )来编写代码。它有很多好处,其中之一就是避免了这些问题。
下面的代码删除了特殊字符并调整了间距,运行正常:
def number_to_words(n):
if n == 0:
return "zero"
unit = ("", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine")
tens = ("", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety")
teen = ("ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen",
"eighteen", "nineteen")
h, t, u = ("", "", "")
if n // 100:
h = unit[n // 100] + " hundred"
n = n % 100
if n >= 20:
t = tens[n // 10]
n = n % 10
elif n >= 10:
t = teen[n - 10]
n = 0
u = unit[n]
return " ".join(filter(None, [h, t, u]))
print(number_to_words(10))https://stackoverflow.com/questions/65525818
复制相似问题