uaveiro-leci/1ano/fp/aula04/divs-cate.py

45 lines
912 B
Python
Raw Normal View History

2022-10-15 22:17:04 +00:00
# Função principal
2022-10-14 22:03:25 +00:00
def main():
n = int(input('Introduza um número: '))
div_list_array = divList(n)
2022-10-15 22:17:04 +00:00
# Transforma a lista obtida numa string para imprimir
div_list = ""
2022-10-14 22:03:25 +00:00
for div in div_list_array:
2022-10-15 22:17:04 +00:00
div_list += (str(div) + ', ')
div_list = div_list[:len(div_list)-2]
# ---
2022-10-14 22:03:25 +00:00
print("""
--------------------
Número introduzido: {}
Lista de divisores:
{}
Este é um número {}.
--------------------
2022-10-15 22:17:04 +00:00
""".format(n, div_list, category(n, div_list_array)))
# Obtém uma lista com todos os dividores de um número
def divList(n):
divs = []
for x in range(1, n):
if n % x == 0:
divs.append(x)
return divs
# Obtém a categoria de um número
def category(n, divs):
total = 0
for div in divs:
total += div
if total < n: return 'deficiente'
if total == n: return 'perfeito'
if total > n: return 'abundante'
2022-10-14 22:03:25 +00:00
main()