Python:在变量中添加换行符

时间:2018-10-02 17:49:30

标签: python

我正在为学校做一些练习,但我无法克服这个问题。有什么办法可以在变量中添加换行符?我尝试仅串联\n,但没有用。我希望它能够返回allPrimes,每个数字都放在单独的行中。

def all_primes_upto(x):
    allPrimes = ''
    for i in range(x):
        if is_prime(i):
            allPrimes += i + '\n'
    return allPrimes

4 个答案:

答案 0 :(得分:3)

不要;您的函数应返回素数的 list ;呼叫者可以根据需要将它们加入单个字符串中。

 def all_primes_upto(x):
     return [i for i in range(x) if is_prime(i)]

 prime_str = '\n'.join(str(x) for x in all_primes_upto(700))

答案 1 :(得分:1)

如果您将值存储在列表中,则可以逐行逐行打印每个项目

def all_primes_upto(x):
    allPrimes = []
    for i in range(x):
        if is_prime(i):
            allPrimes.append(i)
    return allPrimes

l = all_primes_upto(10)

for i in l:
    print(i)

答案 2 :(得分:1)

问题是您尝试对不同类型的变量使用+运算符:iint'\n'str。为了使+作为字符串连接,您需要两个变量都为str类型。您可以使用str函数来做到这一点:

allPrimes += str(i) + '\n'

但是请注意,其他答案建议您的all_primes_upto函数可以返回调用者可以加入并打印的列表,这是更好的解决方案。

答案 3 :(得分:0)

正确用法:

def all_primes_upto(x):
    allPrimes = ''
    for i in range(x):
        if is_prime(i):
            allPrimes += i + '\n'
            print(allPrimes)

使用打印而不是返回