You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何这段Python单行代码出现语法错误?我想生成1-100的无限奇数

语法错误原因分析与修复方案

嘿,我来帮你排查这个问题!你的代码思路没问题——用random.randrange生成奇数,通过while True实现无限输出,但出现语法错误大概率是Python版本差异在搞鬼:

  • 在Python 3里,print()是内置函数,必须用括号包裹参数,你的写法(哪怕函数名和括号之间有空格)其实是合法的,理论上能正常运行。
  • 但要是在Python 2环境下跑这段代码,问题就来了:Python 2里的print是个语句而非函数,这时候给它加括号的写法就会触发语法错误(就算没报错,输出的也会是带括号的元组,完全不符合你的预期)。

顺带提个小优化:100 + 1可以直接写成101,代码会更简洁,不过这不是导致语法错误的原因。

修复后的代码示例

如果你用的是Python 3

可以保留你的逻辑,去掉不必要的空格让代码更规范:

import random; while True: print(random.randrange(1, 101, 2))

如果你用的是Python 2

需要把print的括号去掉,改成语句形式:

import random; while True: print random.randrange(1, 101, 2)

兼容Python 2和3的写法

要是想让代码跨版本能用,在开头加一行导入声明就行:

from __future__ import print_function; import random; while True: print(random.randrange(1, 101, 2))

内容的提问来源于stack exchange,提问作者M K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 09:18:07