python在tup中添加元素

2024-05-23 17:46:00 发布

您现在位置:Python中文网/ 问答频道 /正文

为了用用户输入填充元组,然后添加元组的元素,我执行了以下代码。例如,将元组作为输入1、2和3、4: ((1,2),(3,4))。然后我想加上1+2和3+4。

这是第一部分,工作正常:

data=[]
mytuple=()

while True:
    myinput=raw_input("Enter two integers: ")
    if not myinput:
        print("Finished")
        break
    else: 
        myinput.split(",")
        data.append(myinput)
        mytuple=tuple(data)
print(data)
print(mytuple)

然后,试着:

for adding in mytuple:
    print("{0:4d} {1:4d}".format(adding)) # i am not adding here,i just print

我有两个问题: 1) 我不知道如何添加元素。 2) 当我添加代码的第二部分(添加)时,当我按enter而不是导致程序中断时,它会继续要求我“输入两个整数”

谢谢你!


Tags: 代码用户true元素inputdatarawnot
2条回答

你需要:

myinput = myinput.split(",")

以及

data.append( (int(myinput[0]), int(myinput[1])) )

以及

for adding in mytuple:
    print("{0:4d}".format(adding[0] + adding[1]))

使用内置的map function

data=[]
mytuple=()

while True:
    myinput=raw_input("Enter two integers: ")
    if not myinput:
        print("Finished")
        break
    else: 
        myinput=map(int,myinput.split(","))                  # (1)
        data.append(myinput)
        mytuple=tuple(data)

print(data)
# [[1, 2], [3, 4]]
print(mytuple)
# ([1, 2], [3, 4])
print(' '.join('{0:4d}'.format(sum(t)) for t in mytuple))    # (2)
#    3    7
  1. 使用map(int,...)将字符串转换为整数。还要注意原始代码中有一个错误。myinput.split(",")是表达式,而不是赋值。要更改myinput的值,您必须说myinput = myinput.split(...)
  2. 使用map(sum,...)将sum应用于mytuple中的每个元组。

相关问题 更多 >