繁体   English   中英

在 f 字符串内的同一行上打印随机数

[英]Print random numbers on same line inside f string

我正在尝试在同一行上生成随机数,但我遇到了一些格式问题。

我正在尝试将下面的长代码缩短为更有效的代码:

import random

randomnumber1 = random.randint(1,99)
randomnumber2 = random.randint(1,99)
randomnumber3 = random.randint(1,99)
randomnumber4 = random.randint(1,99)
randomnumber5 = random.randint(1,99)
randomnumber6 = random.randint(1,99)
lucky_numbers = f"{randomnumber1}-{randomnumber2}-{randomnumber3}-{randomnumber4}-{randomnumber5}-[{randomnumber6}]"
print(lucky_numbers)

输出是这样的:

31-29-31-50-69-[14]

经过几次尝试,我的新代码是这样的:

for i in range(5):
    first_half=print(f"{random.randint(1,99)}-", end="")
print(f"{first_half}-[{random.randint(1,99)}]")

但是,每当我运行它时,输出都是这样的:

77-41-39-32-74-None-[29]

如何阻止“ None ”出现在我的输出中,以及为什么会出现? 谢谢

您将print分配给first_halfprint返回None 您可以使用'-'.join

first_half = '-'.join(str(random.randint(1,99)) for _ in range(5))
print(f"{first_half}-[{random.randint(1,99)}]")

63-55-77-71-81-[47]

解释:

# list comprehension
>>> [str(random.randint(1,99)) for _ in range(5)]
['94', '7', '15', '86', '54']

# use '-'.join()
>>> '-'.join(str(random.randint(1,99)) for _ in range(5))
'94-7-15-86-54'

短一点:

from random import choices

>>> '{}-{}-{}-{}-{}-[{}]'.format(*choices(range(1,100), k=6))

'79-48-93-81-18-[72]'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM