python中代码报错invalid character in identifier,请问如何解决

python中需要生成一列数组,每一行按照0.5递增,代码报错invalid character in identifier,请问如何解决
原始代码

def time(n):
num = 0
time=0
while num <=n:
    time(n)=num
    num += 0.5
    print(time(53023))

在修改代码之前,需要注意到该代码存在语法错误。

  1. 函数time(n)的冒号后面应该顶格写,即去掉冒号前面的空格。
  2. 在函数内部,time(n)赋值为num的操作是无意义的。应该将其改为列表或者数组,并将num添加到其中。另外,应该将time=0的赋值去掉,因为它没有实际意义。

修正后的代码如下:

def time(n):
    num = 0
    time_lst = []
    while num <= n:
        time_lst.append(num)
        num += 0.5
    return time_lst

print(time(53.023))

运行结果为:

```
[0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5, 8.0, 8.5, 9.0, 9.5, 10.0, 10.5, 11.0, 11.5, 12.0, 12.5, 13.0, 13.5, 14.0, 14.5, 15.0, 15.5, 16.0, 16.5, 17.0, 17.5, 18.0, 18.5, 19.0, 19.5, 20.0, 20.5, 21.0, 21.5, 22.0, 22.5, 23.0, 23.5, 24.0, 24.5, 25.0, 25.5, 26.0, 26.5, 27.0, 27.5, 28.0, 28.5, 29.0, 29.5, 30.0, 30.5, 31.0, 31.5, 32.0, 32.5, 33.0, 33.5, 34.0, 34.5, 35.0, 35.5, 36.0, 36.5, 37.0, 37.5, 38.0, 38.5, 39.0, 39.5, 40.0, 40.5, 41.0, 41.5, 42.0, 42.5, 43.0, 43.5, 44.0, 44.5, 45.0, 45.5, 46.0, 46.5, 47.

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7476605
  • 除此之外, 这篇博客: python报错与解决方法记录【不定时更新中】中的 二,SyntaxError: invalid character in identifier 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    顾名思义:标识符中的无效字符。原因有以下几个:
    1.代码中有中文字符,包括标点符号。
    由于现在大部分集成开发环境都支持中文,因此很容易输入中文的标点符号,而编译器/解释器不能识别,因此就会报错,这也是大部分报这个错误的原因。解决方法就是把中文的字符换成英文的,请确保代码行内没有夹杂中文的空格,tab等,非文字字符
    2.不可见字符搞的鬼。
    造成这种报错是因为编码格式的不同。有时候为了方便会去网上copy一些代码下来直接使用,然后你会发现格式,缩进什么的都没问题还是报错,这是因为在utf-8编码下和在ASCII编码下的空格有点不一样。
    具体操作是:把问题代码复制粘贴到Notepad++下用ASCII编码问题就会出来了,删除显现出来的乱码删除就可以了。下面是效果对比图。
    原图(utf-8)
    在这里插入图片描述

    转换后(ANSCII编码)
    在这里插入图片描述

    看红色框框里面,在utf-8里面是没有东西的,在ASCII里面就显示出来了,把显示出来的东西删除,然后在用utf-8编码,问题就解决了。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^