2
Make a program that receives two numbers. Calculate and show: The sum of the even numbers of that range, including the numbers typed. The multiplication of odd numbers in this range, including those typed.
I decided as follows:
x = int(input('Digite um número: '))
y = int(input('Digite um número: '))
par = 0
impar = 1
for i in range(x-1, y+1):
if i % 2 == 0:
par = par + i
elif i % 2 != 0:
impar = impar * i
print('A soma dos números pares entre', x, 'e', y, 'é', par, '.')
print('A multiplicação dos números impares entre', x, 'e', y, 'é', impar, '.')
But if the user reports the first number greater than the second, or the two equal numbers, the returned result is wrong.
I decided as follows.
while True:
x = int(input('Digite um número: '))
y = int(input('Digite um número: '))
if x < y:
break
else:
continue
if x == y:
break
else:
continue
par = 0
impar = 1
for i in range(x-1, y+1):
if i % 2 == 0:
par = par + i
elif i % 2 != 0:
impar = impar * i
print('A soma dos números pares entre', x, 'e', y, 'é', par, '.')
print('A multiplicação dos números impares entre', x, 'e', y, 'é', impar, '.')
However, I would like to put an error message, so that the user knows what to do.
while True:
x = int(input('Digite um número: '))
y = int(input('Digite um número: '))
if x < y:
"Acredito que aqui deveria estar a mensagem de erro, porem colocando o print com erro aqui não da certo."
break
else:
continue
if x == y:
break
else:
continue