Odd/Even positions
Здравейте, ще съм много благодарен ако някой успее да ми каже защо... получавам 90/100 точки на тази задача като я практикувам от книгата на основи на Python- гърми на последен опит-ако някой знае и зададените числа и отговора моля да ми каже...от седмици се ядосвам че не мога на нея да направя само 100/100 а днес я пробвах и иначе и....100/100 при нормалните упражнения....Логиката е същата- само форматирането е малко по-различно-в зависимост от това което се иска на двете места.
Кодът от това за книга в програмирането:
from sys import maxsize n = int(input()) odd_sum = 0 odd_min = maxsize odd_max = -maxsize even_sum = 0 even_min = maxsize even_max = -maxsize for i in range(0, n): current_number= float(input()) if i % 2 == 1: even_sum += current_number if current_number < even_min: even_min = current_number if current_number > even_max: even_max = current_number else: odd_sum += current_number if current_number < odd_min: odd_min = current_number if current_number > odd_max: odd_max = current_number if n > 0: print(f'OddSum={odd_sum:,g},') if odd_min == maxsize: print(f'OddMin=No,') else: print(f'OddMin={odd_min:,g},') if odd_max == -maxsize: print(f'OddMax=No,') else: print(f'OddMax={odd_max:,g},') print(f'EvenSum={even_sum:,g},') if even_min == maxsize: print(f'EvenMin=No,') else: print(f'EvenMin={even_min:,g},') if even_max == -maxsize: print(f'EvenMax=No') else: print(f'EvenMax={even_max:,g}') elif n==0: print(f"""OddSum=0, OddMin=No, OddMax=No, EvenSum=0, EvenMin=No, EvenMax=No""") else: print(f'OddSum={odd_sum:,g},') print(f'OddMin={odd_min},') print(f'OddMax={odd_max},') print(f'EvenSum={even_sum:},') print(f'EvenMin={even_min:},') print(f'EvenMax={even_max}')
Код от практиката/което от вдругиден ще бъде competition/:
from sys import maxsize n = int(input()) odd_sum = 0 odd_min = maxsize odd_max = -maxsize even_sum = 0 even_min = maxsize even_max = -maxsize for i in range(0, n): current_number= float(input()) if i % 2 == 1: even_sum += current_number if current_number < even_min: even_min = current_number if current_number > even_max: even_max = current_number else: odd_sum += current_number if current_number < odd_min: odd_min = current_number if current_number > odd_max: odd_max = current_number if n > 0: print(f'OddSum={odd_sum:.2f},') if odd_min == maxsize: print(f'OddMin=No,') else: print(f'OddMin={odd_min:.2f},') if odd_max == -maxsize: print(f'OddMax=No,') else: print(f'OddMax={odd_max:.2f},') print(f'EvenSum={even_sum:.2f},') if even_min == maxsize: print(f'EvenMin=No,') else: print(f'EvenMin={even_min:.2f},') if even_max == -maxsize: print(f'EvenMax=No') else: print(f'EvenMax={even_max:.2f}') elif n==0: print(f"""OddSum=0.00, OddMin=No, OddMax=No, EvenSum=0.00, EvenMin=No, EvenMax=No""") else: print(f'OddSum={odd_sum:,g},') print(f'OddMin={odd_min},') print(f'OddMax={odd_max},') print(f'EvenSum={even_sum:},') print(f'EvenMin={even_min:},') print(f'EvenMax={even_max}')
И от 1 и от 0 съм броил-както сам каза променям логиката само-100/100 имам на задачата, но се чудя защо ми гърми на книгата на последния опит...просто качих последно каквото опитах ако не е от 1
Здравей,
ето ти един код като за книгата, идеята е във форматирането. Не претендирам, че съм го решил оптимално, но поне е някакво решение
Поздрави :)
мерси, не се бях сетил с една функция да го направя :)
Здравей,
Порових се в твоята задача, в кода има бая "правописни" грешки като го копнах, пробвах да ги оправя, но пак излизаше нещо.
Като решение, твоето, много прилича на моето:
Само че при теб финала ми е малко каша...след като се излезе от цикъла. И не можах да схвана логиката на принтовете за да ги поправя... Затова взех твоята "горна" част (натъкмих я малко, понеже аз импортвам целият "сис") и прибавих моите принтове.
Работи на 100%