PyCharm社区版运行Python代码遇空字节ValueError求助
问题解决步骤
一、处理「source code string cannot contain null bytes」错误
这个错误是代码文件混入了不可见的空字节导致的,按以下方式解决:
- 开启PyCharm的空白字符显示:顶部菜单栏选「View」→「Active Editor」→「Show White Spaces」,此时能看到文件里的空字节(通常显示为□类符号),直接删除这些符号。
- 若找不到空字节,直接新建空白Python文件,手动重新输入代码(不要复制原文件内容),再运行。
- 仍无效的话,清理PyCharm缓存:「File」→「Invalidate Caches...」,选择「Invalidate and Restart」,重启后重试。
二、修正代码本身的语法与逻辑问题
你提供的代码存在多处错误,修正后的完整代码如下:
import random # 必须导入random模块才能使用随机数功能 def guess(x): random_number = random.randint(1, x) guess = 0 # while循环需判断条件,输入内容转成整数才能和随机数比较 while guess != random_number: guess = int(input(f'Guess a number between 1 and {x}: ')) if guess < random_number: print('Too low! Try again.') elif guess > random_number: print('Too high! Try again.') else: print(f'Congratulations! You guessed the number {random_number} correctly!') guess(10)
代码修正点说明:
- 新增
import random,否则无法调用random.randint生成随机数。 - while循环改为判断
guess != random_number,确保循环持续到猜对为止。 - 将input获取的字符串转成
int类型,否则无法和整数类型的随机数做比较。 - 修正f-string格式,把错误的
%x改成{x},正确插入变量值。 - 添加高低判断逻辑,完善游戏交互体验。
内容的提问来源于stack exchange,提问作者N0t0b1t0
相关产品推荐
相关产品推荐

