Из параметра кортежа пытаюсь найти две суммы - PullRequest
1 голос
/ 04 мая 2020

Каждый добавляет каждый второй номер, начиная с первого номера, а вторая сумма начинается со второго номера. Пример;

Tuple= (1, 2, 3, 4, 5, 6, 7, 8)
Sum1= 1+3+5+7
Sum2= 2+4+6+8

Вот что у меня есть:

def everyOtherSumDiff(eg):
    a=0
    b=0
    for i in (eg, 2):
        a+=i

    return a

eg=(1, 2, 3, 4, 5, 6, 7, 8)        
print(everyOtherSumDiff(eg))

Я не уверен, как получить кортеж из пользовательского ввода, и я так мало работал с кортежами Я не уверен, как складывать их вместе друг с другом, особенно если go с другой отправной точки.

Любая помощь будет признательна!

Ответы [ 2 ]

4 голосов
/ 04 мая 2020

Для этого вы можете использовать синтаксис нарезки [start: stop: step]

>>> tup = (1, 2, 3, 4, 5, 6, 7, 8)
>>> sum(tup[0::2])  # sum every second element, starting index 0
16
>>> sum(tup[1::2])  # sum every second element, starting index 1
20
0 голосов
/ 04 мая 2020

Я собираюсь опираться на ответ covfefe19 и добавить часть кортежа:

my_tuple = () #I define the tuple
user_input = input('Please write a series of number one at a time. Press q to quit') #I #define the input statement
my_tuple = (int(user_input),) #I add the number from the input into the tuple as a number

while user_input.isdigit(): #Here I use the "isdigit()" to create the condition for the #while loop. As long as the input is a digit the input will keep poppin up
    user_input = input()

    if user_input.isdigit():
        my_tuple = my_tuple + (int(user_input),) #I add the input as a number to the tuple
    else:
        pass #if input not a number, then pass and go on the next part of the function
else:
    print('You have quit the input process')
    every_second = sum(my_tuple[0::2]) ## This is covfefe19's solution to tuple
    every_other = sum(my_tuple[1::2]) ## so as this
    print(my_tuple)
    print(every_second, '\n', every_other) ##This prints the answer

Надеюсь, это немного поможет с созданием входов и сохранением их в кортежи!

Как вы видите, вы должны вызвать созданный кортеж и добавить вход в виде кортежа (user_input,). Это добавит каждое значение, вставленное во вход, в последний индекс my_tuple

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...