Fazer um programa em Python que leia vários números inteiros e positivo e calcule e imprima o fatorial se o número é menor que 7 e a soma de 1 até o número lido se o número é maior ou igual a 7.
Respostas
Resposta:
### SUBPROGRAMAS
# Subprograma com a função 'fatora' onde faremos a fatoração de 'n' (n!)
def fatora(n):
# 'fatorial' começa com o nº n
fatorial = n
# 'next' começa igual a 'n' e será diminuído em ' a cada passo da execução
next = n
# enquanto 'next' for MAIOR do que 1, executa o loop (while)
while next > 1:
# 'fatorial' recebe o valor da multiplicação entre o valor do próprio 'fatorial' com o valor em 'next' menos 1
fatorial = fatorial * (next - 1)
# reduzimos o 'next' em 1 para continuar a fatoração com o nº seguinte
next -= 1
# imprime no console o resultado do fatorial do nº 'n'
print('O fatorial de {} é {}.'.format(n, fatorial))
# Subprograma com a função 'conta' onde faremos a soma de todos os números de 1 a 'n', inclusive
def conta(n):
# a soma começa em 0
soma = 0
# para cada 'numero' do intervalo 1 até 'n' +1 (pois o range NÃO conta o último número)
for numero in range(1, n + 1):
# o programa soma o valor já contido na variável 'soma' ao valor de 'numero'
soma += numero
# imprime no console o resultado da soma de todos os números de 1 até 'n'
print('A soma de todos os números entre 1 e {} é {}.'.format(n, soma))
### PROGRAMA PRINCIPAL
# Enquanto 'True' o loop continua
while True:
# insira um número a ser testado
n = int(input('Insira um número a ser testado: '))
# se o número inserido for igual ou menor que zero ele QUEBRA o loop e ENCERRA o programa
if n <= 0:
print('Número menor ou igual a zero inserido. Fim do programa')
break
# se o número for maior que zero ele vai executar o programa de acordo com as condições abaixo
else:
# se o número inserido for MENOR do que 7 ele executa o subprograma 'fatora' para o valor 'n'
if n < 7:
fatora(n)
# se o número inserido for MAIOR OU IGUAL a 7 ele executa o subprograma 'conta' para o valor 'n'
if n >= 7:
conta(n)
# imprime uma linha vazia, só pra melhorar o visual do programa
print()
Explicação:
Código em negrito e explicações em itálico. Todas as explicações podem ser deletadas sem prejuízo algum para o código