如何水平打印字符? [复制]

Posted

技术标签:

【中文标题】如何水平打印字符? [复制]【英文标题】:How to print the characters horizontally? [duplicate] 【发布时间】:2018-02-01 05:46:18 【问题描述】:
def rand_gen1():
    import random
    for i in range(8):
        print random.choice('0123456789abcdefghijklmnopqrstuvwxyz')

上面的代码垂直打印一个由 8 个随机字符或整数组成的字符串。我需要它像'abcd123b' 一样打印,即水平打印。

我需要做哪些改变?

【问题讨论】:

@khelwood 最好连接起来,而不是像 SumnerEvans 建议的那样在每次迭代中打印。 【参考方案1】:

您需要将随机选择存储在一个字符串中,然后打印该字符串:

import random

def rand_gen1():
    rand_str = ''
    for i in range(8):
        rand_str += random.choice('0123456789abcdefghijklmnopqrstuvwxyz')
    print rand_str

每个print 语句都会创建一个新行。

【讨论】:

【参考方案2】:

现在您正在使用print 在自己的新行上打印出所有内容。您可以通过将这些值存储在字符串变量中来将它们全部变成一个字符串。

import random
def rand_gen1():
    output = ""
    for i in range(8):
        output += random.choice('0123456789abcdefghijklmnopqrstuvwxyz')
    print output

【讨论】:

【参考方案3】:
from random import choice
from string import ascii_lowercase, digits


def rand_gen(length=8, pool=digits+ascii_lowercase):

    return ''.join(choice(pool) for _ in range(length))


print rand_gen()

【讨论】:

【参考方案4】:

或者像这样(Richard Neumann 用于从字符串导入):

import random
from string import ascii_lowercase, digits

def rand_gen3():
    print(''.join(random.choice(ascii_lowercase + digits) for _ in range(8)))

rand_gen3()

【讨论】:

以上是关于如何水平打印字符? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从打印的数据帧字符串中加载数据帧? [复制]

如何使字符串从 onclick 传递到函数? [复制]

c++ 的 substr() 是如何工作的? [复制]

如何在 C 中打印百分号(%)? [复制]

如何在 n 秒后打印一些东西? [复制]

如何让 Python 向后打印输入的消息? [复制]