为何print(x += 1)是无效语法?求可无限计数至最大位数的程序
问题解答
为什么print(x += 1)是无效语法?
在Python中,x += 1属于赋值语句,这类语句仅负责修改变量的值,本身不会返回任何结果。而print()函数需要接收能产生具体值的表达式作为参数,赋值语句不符合这个要求,因此会触发语法错误。
实现无限计数的可行程序
方法一:基础写法(兼容所有Python版本)
x = 0 while True: x += 1 print(x)
这个程序会持续递增并打印数值,直到你手动终止(比如按Ctrl+C)。Python的整数类型没有固定上限,只要内存足够,它会一直计数下去。
方法二:用海象运算符简化(Python 3.8+)
如果想用更紧凑的写法,可以用Python 3.8引入的海象运算符:=,它既能完成赋值操作,又能返回赋值后的值:
x = 0 while True: print(x := x + 1)
效果和方法一完全一致,只是把递增和打印合并到了一行。
内容的提问来源于stack exchange,提问作者cryptoboomer
相关产品推荐
相关产品推荐

