如何在Python中为另一个操作使用程序打印的值?
假设我有一个简单的操作:如何在Python中为另一个操作使用程序打印的值?,python,loops,for-loop,infinite-loop,arithmetic-expressions,Python,Loops,For Loop,Infinite Loop,Arithmetic Expressions,假设我有一个简单的操作: x = 1 print x+1 如何直接使用“打印x+1”中的打印值对其反复执行相同的操作 我预计产出为: 1 2 3 4 5 6 . . . 我同意furas的评论。捕捉打印结果毫无意义 在大多数情况下 如果您有理由希望打印输出为字符串,您可以这样做 使用str()而不是打印 x = 1 y = str(x+1) y = y + "do something" print y 我同意furas的评论。捕捉打印结果毫无意义 在大多数情况下 如果您有理由希望打印输出
x = 1
print x+1
如何直接使用“打印x+1”中的打印值对其反复执行相同的操作
我预计产出为:
1
2
3
4
5
6
.
.
.
我同意furas的评论。捕捉打印结果毫无意义 在大多数情况下 如果您有理由希望打印输出为字符串,您可以这样做 使用
str()
而不是打印
x = 1
y = str(x+1)
y = y + "do something"
print y
我同意furas的评论。捕捉打印结果毫无意义 在大多数情况下 如果您有理由希望打印输出为字符串,您可以这样做 使用
str()
而不是打印
x = 1
y = str(x+1)
y = y + "do something"
print y
好的。。。我要咬
import sys
import io
class Hijacker(io.TextIOWrapper):
def __init__(self):
self.last_value = None
self._odd = True
def write(self, s):
if self._odd:
self.last_value = s
sys.__stdout__.write(str(s))
self._odd = not self._odd
flush = sys.__stdout__ .flush
read = sys.__stdout__ .read
readline = sys.__stdout__.readline
encoding = sys.__stdout__.encoding
errors = sys.__stdout__ .errors
h = Hijacker()
sys.stdout = h
print(1)
print(1 + int(h.last_value))
print(1 + int(h.last_value))
产出:
1
2
3
这只在从实际shell运行时才起作用,交互式解释器将不具有任何功能。我也只在Windows上试用过,所以谁知道它在其他地方是否有效。别问我它是怎么工作的,太可怕了,让人无法理解。也永远不要这样做。就像其他人已经说过的,你的方法是错误的。循环和变量请 好的。。。我要咬
import sys
import io
class Hijacker(io.TextIOWrapper):
def __init__(self):
self.last_value = None
self._odd = True
def write(self, s):
if self._odd:
self.last_value = s
sys.__stdout__.write(str(s))
self._odd = not self._odd
flush = sys.__stdout__ .flush
read = sys.__stdout__ .read
readline = sys.__stdout__.readline
encoding = sys.__stdout__.encoding
errors = sys.__stdout__ .errors
h = Hijacker()
sys.stdout = h
print(1)
print(1 + int(h.last_value))
print(1 + int(h.last_value))
产出:
1
2
3
这只在从实际shell运行时才起作用,交互式解释器将不具有任何功能。我也只在Windows上试用过,所以谁知道它在其他地方是否有效。别问我它是怎么工作的,太可怕了,让人无法理解。也永远不要这样做。就像其他人已经说过的,你的方法是错误的。循环和变量请 不打印,将结果分配给变量-
value=x+1
如果我想以循环方式执行,该怎么办?我的意思是,我希望python能够识别打印的值并单独使用它,而无需将其分配给每个变量time@furasI不知道您的意思-编辑问题并添加示例-也许您需要列表来保持所有值不打印,将结果分配给变量-value=x+1
如果我想以循环方式执行该操作怎么办?我的意思是,我希望python能够识别打印的值并单独使用它,而无需将其分配给每个变量time@furasI不知道您的意思-编辑问题并添加示例-也许您需要列表来保留所有值