Софтуерно Инженерство
Loading...
vena1 avatar vena1 0 Точки

03. Odd / Even Position

Здравейте,
Решавам задачата по различни начини, но само този ми дава максимум 70/100.
Дали някой може да помогне?
Благодаря!
 
import sys
count_num = int(input())
odd_sum = 0
odd_min = sys.maxsize
odd_max = -sys.maxsize
even_sum = 0
even_min = sys.maxsize
even_max = -sys.maxsize
for num_pos in range(1, count_num+1):
    current_number = float(input())
    if num_pos % 2 != 0:
        odd_sum += current_number
        if current_number < odd_min:
            odd_min = current_number
        if current_number > odd_max:
            odd_max = current_number
        else:
            odd_min = odd_min
            odd_max = odd_max
    if num_pos % 2 == 0:
        even_sum += current_number
        if current_number < even_min:
            even_min = current_number
        if current_number > even_max:
            even_max = current_number
        else:
            even_min = even_min
            even_max = even_max

print(f"OddSum={odd_sum:.2f},")
print(f"OddMin={odd_min:.2f},")
print(f"OddMax={odd_max:.2f},")

print(f"EvenSum={even_sum:.2f},")
print(f"EvenMin={even_min:.2f},")
print(f"EvenMax={even_max:.2f}")
Тагове:
0
grishko0o avatar grishko0o 34 Точки

@ValentinBarutchiev 

if even_min != sys.maxsize:    # първоначално even_min = sys.maxsize и ако не е влязло/няма такава стойност , за да я промени да не е maxsize, не е имало even_min . Това прави и проверката - even_min различно ли е от първоначалната си стойност ("!=" различно от), ако да :

    print(f"EvenMin={even_min:.2f},")

в противен случай е равно на първоначалната, тоест не е имало even_min :

else:
    print(f"EvenMin=No,") 

Надявам се е било от помощ.

0
27/03/2020 01:08:34