Python 生成特定格式的元组
我想生成以下格式的元组Python 生成特定格式的元组,python,python-3.x,tuples,Python,Python 3.x,Tuples,我想生成以下格式的元组 Tuple = (2,20,200,2000) 它基本上是在一个数字后面加上0。如何在python 3中生成这些格式元组。您可以执行以下操作: seed = 2 tuple(seed * 10**n for n in range(4)) 给定一个种子,它将创建一个包含seed*1、seed*10、seed*100等的列表,然后将其转换为一个元组,类似的操作如下: tuple = () n = 5 # amount of items num = 2 # number y
Tuple = (2,20,200,2000)
它基本上是在一个数字后面加上0。如何在python 3中生成这些格式元组。您可以执行以下操作:
seed = 2
tuple(seed * 10**n for n in range(4))
给定一个种子,它将创建一个包含
seed*1
、seed*10
、seed*100
等的列表,然后将其转换为一个元组,类似的操作如下:
tuple = ()
n = 5 # amount of items
num = 2 # number you want to have in the tuple
for x in range(n):
new_item = num*10**x
tuple += (new_item,)
print(tuple)
您可以使用尾部递归(尽管python中的尾部递归没有增加多少好处): 输出:
>>(22002000)
到目前为止您尝试了什么?无需创建中间列表,这就足够了元组(范围(4)中的n的种子*10**n)
@Netwave您绝对正确,已经更新了解决方案非常感谢!这对我有帮助
tuple = (2, )
n = 4
def generate(n, tuple):
if n == 1:
return tuple
else:
tuple = tuple + (tuple[-1]*10, )
return generate(n-1, tuple)
print(generate(n, tuple))