Odd / Even Position. Задачата по условието от книгата Python.
Решил съм задачата и всички проверки от "Примерен вход и изход" излизат, но въпреки това получавам 80/100. Какво пропускам?
n = int(input())
sum_even = 0
max_number_even = -100000000000000000
min_number_even = 100000000000000000
str_max_number_even = 'No'
str_min_number_even = 'No'
sum_odd = 0
max_number_odd = -100000000000000000
min_number_odd = 100000000000000000
for number in range(1, n + 1):
input_number = float(input())
if number % 2 == 1:
sum_odd = input_number + sum_odd
if input_number > max_number_odd:
max_number_odd = input_number
if input_number < min_number_odd:
min_number_odd = input_number
if n == 1:
max_number_even = 'No'
min_number_even = 'No'
elif number % 2 == 0:
sum_even = input_number + sum_even
if input_number > max_number_even:
max_number_even = input_number
if input_number < min_number_even:
min_number_even = input_number
print('OddSum={:,g},'.format(sum_odd))
print('OddMin={:,g},'.format(min_number_odd))
print('OddMax={:,g},'.format(max_number_odd))
print('EvenSum={:,g},'.format(sum_even))
if min_number_even == 'No' and max_number_even == 'No':
print('EvenMin=No,')
print('EvenMax=No')
else:
print('EvenMin={:,g},'.format(min_number_even))
print('EvenMax={:,g}'.format(max_number_even))
Кода работи без проблем и с отрицателни числа, друг е явно проблема.
Освен това в Python: -3 % 2 = 1, не на – 1.
Oт друга страна -3 % -2 = -1
@MadHatter
Това е особеност на Python, с която не бях запознат :)
Редактирах си отговора с конкретните пропуски в решението ти.
Благодаря. Проблема се оказа във форматиране при извеждането, което в примерите за проверка към задачата не се проявява, но с по големи числа наистина има проблем, въобще нямаше да го открия. За празните редове се справих и го накарах да работи и с числовите стойности. Благодаря за отделеното време и внимание.