0
respostas

Resolução do desafio: hora da prática IV - Estruturas de repetição part II

https://cursos.alura.com.br/course/python-data-science-primeiros-passos/task/123756

# Momento dos projetos
'''6) Escreva um programa que gere a tabuada de um número inteiro de 1 a 10, de acordo com a escolha da pessoa usuária. Como exemplo, para o número 2, a tabuada deve ser mostrada no seguinte formato:

Tabuada do 2:
2 x 1 = 2
2 x 2 = 4
[...]
2 x 10 = 20'''

num = int(input('Insira um numero de 1 a 10: '))
if num <= 0 or num >10:
    print('Número inválido.')
else:
    print(f'Tabuada do {num}:')
    i = 1
    while i <= 10:
        print(f'{num} x {i} = {num * i}')
        i += 1

# Insira um numero de 1 a 10: 7
# Tabuada do 7:
# 7 x 1 = 7
# 7 x 2 = 14
# 7 x 3 = 21
# 7 x 4 = 28
# 7 x 5 = 35
# 7 x 6 = 42
# 7 x 7 = 49
# 7 x 8 = 56
# 7 x 9 = 63
# 7 x 10 = 70
'''7) Os números primos possuem várias aplicações dentro da Ciência de Dados em criptografia e segurança, por exemplo. Um número primo é aquele que é divisível apenas por um e por ele mesmo. Assim, faça um programa que peça um número inteiro e determine se ele é ou não um número primo.'''
num = int(input('Informe um número inteiro: '))

if num <= 1:
    print(f'Nº {num} não é primo.')
    exit()
else:
    i = 2
    while i < num:
        if num % i == 0:
            print(f'Nº {num} não é primo.')
            exit()
        i += 1
    else:
        print(f'Nº {num} é primo.')

# Informe um número inteiro: 6
# Nº 6 não é primo.
'''8) Vamos entender a distribuição de idades de pensionistas de uma empresa de previdência. Escreva um programa que leia as idades de uma quantidade não informada de clientes e mostre a distribuição em intervalos de [0-25], [26-50], [51-75] e [76-100]. Encerre a entrada de dados com um número negativo.'''
print('Informe a idade do pensionista ou um valor negativo para sair.')

intervalo1 = []
intervalo2 = []
intervalo3 = []
intervalo4 = []
i = 1

while True:
    idade = int(input(f'{i}ª idade: '))
    if idade < 0:
        print('Encerrado.')
        break
    if idade > 100:
        print('Idade inválida, digite novamente!')
        continue

    if idade >= 0 and idade <= 25:
        intervalo1.append(idade)
    elif idade >= 26 and idade <= 50:
        intervalo2.append(idade)
    elif idade >= 51 and idade <= 75:
        intervalo3.append(idade)
    else:
        intervalo4.append(idade)

    i += 1 

print('\nDistribuição em intervalos: ')
print(f'[0-25]   : {len(intervalo1)} pessoa(s) - idade: {intervalo1}')
print(f'[26-50]  : {len(intervalo2)} pessoa(s) - idade: {intervalo2}')
print(f'[51-75]  : {len(intervalo3)} pessoa(s) - idade: {intervalo3}')
print(f'[76-100] : {len(intervalo4)} pessoa(s) - idade: {intervalo4}')

'''
Informe a idade do pensionista ou um valor negativo para sair.
1ª idade: 21
2ª idade: 23
3ª idade: 29
4ª idade: 37
5ª idade: 44
6ª idade: 55
7ª idade: 59
8ª idade: 73
9ª idade: 75
10ª idade: 101
Idade inválida, digite novamente!
10ª idade: 77
11ª idade: 79
12ª idade: 88
13ª idade: 93
14ª idade: 100
15ª idade: -1
Encerrado.

Distribuição em intervalos: 
[0-25]   : 2 pessoa(s) - idade: [21, 23]
[26-50]  : 3 pessoa(s) - idade: [29, 37, 44]
[51-75]  : 4 pessoa(s) - idade: [55, 59, 73, 75]
[76-100] : 5 pessoa(s) - idade: [77, 79, 88, 93, 100]
'''