Python Divmod помощь для математического упражнения для начинающих - PullRequest
0 голосов
/ 28 марта 2020

Итак, в основном все, что я пытаюсь сделать, это взять третью и четвертую цифры из набора чисел:

# Number Set
num_set = (28,54,79,37,2,9,0)

и разделить их обе (79 и 37). Это код, который я написал :

# Division of third and fourth digits
# Seperating the digits
div_num = ((num_set[2,3]))
print("we are going to divide", div_num)
ans = (divmod(div_num))
print("the answer for 79 divide by 37 is", ans)

, что дает мне ошибку

"Ошибка типа: индексы кортежа должны быть целыми или кусочками, а не кортежем"

Любая помощь будет быть оцененным! Спасибо

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

Я предлагаю не использовать слово set, поскольку оно является типом в python

С f-строками

num_list = [28, 54, 79, 37, 2, 9, 0]

n, p = num_list[2:4]
print(f"we are going to divide {n} by {p}")
q, r = divmod(n, p)
print(f"the answer for {n} divide by {p} \
is {q} and a remainder of {r}")

edit: [2:4] - это фрагмент 4 -2 = 2 элемента.

Когда функция возвращает более одного элемента, вы можете назначить их переменным.

f-строки (строки с префиксом f) заменят переменные между фигурные скобки с их значениями.

0 голосов
/ 28 марта 2020

Вам нужно заменить эту строку кода

ans = (divmod(div_num))

на:

ans = divmod(num_set[2], num_set[3])

Вам не нужно div_num, поэтому удалите все его ссылки.


Почему вы получаете ошибку?

num_set[2,3] совпадает с num_set[(2,3)]. Вы пытаетесь индексировать кортеж по кортежу, когда он должен быть целыми числами или срезами.


Код :

ans = divmod(num_set[2], num_set[3])
print("the answer for 79 divide by 37 is", ans)
...