如何水平打印字符?

时间:2017-08-23 14:50:46

标签: python

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

上面的代码打印出一串8个随机字符或整数或两个垂直字符串。我需要它像'abcd123b'那样水平打印。

我需要做出哪些改变?

4 个答案:

答案 0 :(得分:5)

或者那样(理查德·诺伊曼的+从字符串导入):

import random
from string import ascii_lowercase, digits

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

rand_gen3()

答案 1 :(得分:2)

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

import random

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

每个print个参数都会创建一个新行。

答案 2 :(得分:2)

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()

答案 3 :(得分:1)

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

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