如何水平打印字符? [复制]
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()
【讨论】:
以上是关于如何水平打印字符? [复制]的主要内容,如果未能解决你的问题,请参考以下文章