如何在Python中让输出内容横向排列(例输出'12345'而非逐行显示)
随机数生成函数输出拼接解决方案
问题根因
你当前逐行输出的原因有两个:
- Python内置
print()函数默认结尾会追加换行符\n,每次调用都会单独占一行 - 你是生成单个随机数就直接打印,没有提前把所有数字转成字符串拼接为整体
方案1:先拼接再打印(更推荐,方便后续复用结果)
这个方案会把生成的所有随机数先拼成完整字符串,你可以直接拿到字符串做后续逻辑处理,代码如下:
import random def get_num(): result = "" # 原逻辑是循环5次,直接用range(5)即可,不需要额外定义listz for _ in range(5): # 生成的随机数转成字符串后追加到结果末尾 result += str(random.randrange(1, 7)) print(result) return result # 不需要复用结果可以删掉这行 get_num()
方案2:修改print默认换行参数
如果你不需要留存生成的字符串,只需要打印输出,可以直接修改print()的end参数,关闭默认换行:
import random def get_num(): listz = [1,2,3,4,5] for x in listz: # end设为空字符串,每次打印后不会换行 print(random.randrange(1,7), end='') # 全部打印完补一个换行,避免后续其他输出跟随机数字符串接在同一行 print() get_num()
两种方案输出效果一致,默认会生成5位连续数字串,如果你需要生成类似234567的6位字符串,把循环次数从5改成6即可。
内容的提问来源于stack exchange,提问作者David Lopez
相关产品推荐
相关产品推荐

