如何将两个数字合并到一个变量中而不进行相加python
我有一个基本的Python加密程序。程序已经基本完成了,但是由于Python构建变量的方式,我不断地出现错误 下面是我正在尝试做的一个例子:如何将两个数字合并到一个变量中而不进行相加python,python,Python,我有一个基本的Python加密程序。程序已经基本完成了,但是由于Python构建变量的方式,我不断地出现错误 下面是我正在尝试做的一个例子: A = 4 B = 2 C = 3 for i in range (3): A=A, ((B*2) + C) A = (((4, 7), 7), 7) 我希望A输出4,7,7,7,当它循环时,它把数字加到末尾,而不是把它们加在一起。这里的问题是,无论出于什么原因,我都不能针对特定的值,例如,如果我这样做了 print (A[2]) 输出将
A = 4
B = 2
C = 3
for i in range (3):
A=A, ((B*2) + C)
A = (((4, 7), 7), 7)
我希望A输出4,7,7,7,当它循环时,它把数字加到末尾,而不是把它们加在一起。这里的问题是,无论出于什么原因,我都不能针对特定的值,例如,如果我这样做了
print (A[2])
输出将是一个错误
Traceback (most recent call last):
File "C:/Users/name/Desktop/Python/Test.py", line 8, in <module>
print (A[2])
IndexError: tuple index out of range
回溯(最近一次呼叫最后一次):
文件“C:/Users/name/Desktop/Python/Test.py”,第8行,在
打印(A[2])
索引器错误:元组索引超出范围
忽略上面的代码,我最好的方法是什么?谢谢 你是这个意思吗
A = 4
B = 2
C = 3
l = [A]
for i in range (3):
l.extend([B*2 + C])
print(l)
# [4, 7, 7, 7]
如果要继续使用元组,可以这样做:
A = 4
B = 2
C = 3
A = (A,) # Convert A to tuple
for i in range(3):
A += ((B*2) + C,)
print(A)
# (4, 7, 7, 7)
注意:元组是不可变的,这意味着您在每次迭代中都要创建一个新元组,如果循环非常大,这可能是一个昂贵的操作。您是在尝试对数字求和还是将它们串联起来?您的预期输出是什么?我正在尝试将它们串联起来。我希望a输出4、7、7,所以本质上,是否希望
A
成为A并在每个循环中附加到它?是的。谢谢你,我忘记了我可以使用和附加一个列表。威尔·马克(Will mark)的回答与我的回答一样@Spookichicken,你可以随时这么做。