[英]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_half
并print
返回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.