Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中为另一个操作使用程序打印的值?_Python_Loops_For Loop_Infinite Loop_Arithmetic Expressions - Fatal编程技术网

如何在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不知道您的意思-编辑问题并添加示例-也许您需要列表来保留所有值