Informática, perguntado por Usuário anônimo, 7 meses atrás

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. ​

Soluções para a tarefa

Respondido por dazevedoc
1

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

Perguntas interessantes