【问题标题】:How to convert a for loop output into a simple variable?如何将 for 循环输出转换为简单变量?
【发布时间】:2022-01-01 03:08:41
【问题描述】:

我将向您展示我想要完成的简单演示:

import numpy as np
word = input("Enter a word : "+ ' ')
pxlength = (len(word))
word= " ".join(word)
m = (np.str_(word))
for g in range(5):
     print(m)

如果我输入我的名字 - Eitan,它将打印:

e i t a n
e i t a n
e i t a n
e i t a n
e i t a n

我想要的是一个代表输出的变量,我们称他为 e,我试图做到这一点:print(e) 它会打印:

    e i t a n
    e i t a n
    e i t a n
    e i t a n
    e i t a n

我试图在很多地方寻找这个,但我可能不知道如何以及究竟要搜索什么。我知道这是一个非常愚蠢的 qu 但我真的需要帮助,tnx。

【问题讨论】:

  • 我不明白这个问题,是缺少缩进吗?
  • 你不需要那个m = (np.str_(word))。无论如何,如果您只想在字符串前面留一些空白,那么只需执行e = ' ' + word

标签: python for-loop printing output


【解决方案1】:

你可以这样做

e = f'{word}\n' * 5
print(e)

【讨论】:

  • tnx!我会尝试一下,如果它在实际代码中对我有帮助,请告诉您
【解决方案2】:

您要实现的目标比看起来更复杂,这可能意味着问题本身存在缺陷 - 您不需要在代码中进一步使用打印输出。 也就是说,可以通过捕获 stdout 和 stderr 来实现,如下所述:https://stackoverflow.com/a/40417352/9296093

【讨论】:

  • 是的,我教它更容易...对于链接,我肯定会尝试理解和使用它。
  • 我想说不要尝试使用它。尝试以不需要做这些奇怪的事情的方式编写程序。
  • 最简单的解决方案:不要在循环的每次迭代中打印,而是创建一个变量,在每次执行时添加您的单词。循环完成后,您一次打印所有内容,然后还将字符串作为值返回。
【解决方案3】:

试试这个:

word = input("Enter a word : "+ ' ')
word_sep = ' '.join(word)
e = '\n'.join([word_sep]*5)
print(e)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-28
    • 2019-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 1970-01-01
    相关资源
    最近更新 更多