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

5.1 Loops 12.Equal Pairs

Здравейте, имам следния проблем при решаване на долната задача./python/
математически резултатите са ми верни, но не знам как да форамтирам част от отговорите хем
в :.f0   хем в :.f1 /в изхода имам 6, 5, 4  каккто и 1.5, 2.5/. Освен това при форамтиране
ми дава грешка за str отговора "No" който се изисква на изхода. Judje ми дава максимум 20-30/100. Доста се помъчих но дотук ми стигна капацитета. Мерси


n = int(input())


OddMin = 100000.0
OddMax = -100000.0
EvenMin = 100000.0
EvenMax = -100000.0
no = "No"
OddSum = 0
EvenSum = 0

for nums in range(1, n+1):
    chislo = float(input())
    if nums % 2 != 0:       # числата са нечетни
        OddSum = chislo + OddSum
        if chislo > OddMax:
            OddMax = chislo
        if chislo < OddMin:
            OddMin = chislo
    elif nums % 2 == 0:       # числата са четни
        EvenSum = chislo + EvenSum
        if chislo > EvenMax:
            EvenMax = chislo
        if chislo < EvenMin:
            EvenMin = chislo

if EvenMin == 100000.0 and EvenMax == -100000.0:
    EvenMin = no
    EvenMax = no




print(f'{OddSum}',)
print(f'{OddMin}',)
print(f'{OddMax}',)
print(f'{EvenSum}',)
print(f'{EvenMin}',)
print(f'{EvenMax}')

 

Задача: четни / нечетни позиции Напишете програма, която чете n числа и пресмята сумата, минимума и максимума на числата на четни и нечетни позиции (броим от 1). Когато няма минимален / максимален елемент, отпечатайте "No".
Примерен вход и изход
Вход Изход  Вход Изход  Вход Изход
6 2 3 5 4 2 1
OddSum=9, OddMin=2, OddMax=5, EvenSum=8, EvenMin=1, EvenMax=4
 
   2    1.5   -2.5
OddSum=1.5, OddMin=1.5, OddMax=1.5, EvenSum=-2.5, EvenMin=-2.5, EvenMax=-2.5
 
    1     1
OddSum=1, OddMin=1, OddMax=1, EvenSum=0, EvenMin=No, EvenMax=No
 
Вход Изход  Вход Изход  Вход Изход
 3 -1 -2 -3
OddSum=-4, OddMin=-3, OddMax=-1, EvenSum=-2, EvenMin=-2, EvenMax=-2
 
   1   -5
OddSum=-5, OddMin=-5, OddMax=-5, EvenSum=0, EvenMin=No, EvenMax=No
     5     3    -2     8     11    -3
OddSum=8, OddMin=-3, OddMax=8, EvenSum=9, EvenMin=-2, EvenMax=11

Тагове:
mark79 avatar mark79 585 Точки

Здравей,

ето ти едно решение

import sys

n = int(input())

even_sum = 0
even_min = sys.maxsize
even_max = -sys.maxsize

odd_sum = 0
odd_min = sys.maxsize
odd_max = -sys.maxsize

for i in range(1, n + 1):
    current_number = float(input())
    if i % 2 == 0:
        even_sum += current_number
        if current_number > even_max:
            even_max = current_number
        if current_number < even_min:
            even_min = current_number
    else:
        odd_sum += current_number
        if current_number > odd_max:
            odd_max = current_number
        if current_number < odd_min:
            odd_min = current_number

print(f"OddSum={odd_sum:.2f},")
if odd_min != sys.maxsize:
    print(f"OddMin={odd_min:.2f},")
else:
    print(f"OddMin=No,")
if odd_max != -sys.maxsize:
    print(f"OddMax={odd_max:.2f},")
else:
    print("OddMax=No,")

print(f"EvenSum={even_sum:.2f},")
if even_min != sys.maxsize:
    print(f"EvenMin={even_min:.2f},")
else:
    print(f"EvenMin=No,")
if even_max != -sys.maxsize:
    print(f"EvenMax={even_max:.2f}")
else:
    print("EvenMax=No")

Поздрави :)

0
13/09/2019 12:35:47
daninemski avatar daninemski 2 Точки

Благодаря

0