Loading...
gamebooker avatar gamebooker 2 Точки

[Python Basics] Loops - 11. * Четни / нечетни позиции

Здравейте,

опитвам се да реша задачата за Четни / нечетни позиции, като кода ми  идентичен на показания от лектора на последната лекция. Само че на нея той стига до 70/100 точки без форматиране на резултата, като показва как да се форматира с

"{0:.2f}".

Когато добавя това, обаче, получавам 0/100. Опитвах форматиране с различен брой символи след десетичната запетая, и все получавам по-малко от 70/100.

Разрових се във форума и видях, че в някои решения на същата задача, но на C#, хората не правят нищо повече от конвертиране в стринг (никакво форматиране).

Може ли да попитам някой изкарал 100/100 дали е нужно форматиране и какво? Или има друга грешка, извън форматирането?

За съжаление judge не дава какви са грешките, а в pycharm програмата минава правилно.

Ето кода ми 


 
Тагове:
0
Programming Basics 11/06/2017 17:15:22
YankoGrancharov avatar YankoGrancharov 6 Точки

Възможна причина /поне това видях/ при теста 1/1 както и при тест с вход нула отпечатваш 0 за сумите а в примера е дадено че иска 0,0 Май проблема е както казаха на лекцията че променливите мин и макс са ту стринг ту число а стринга не може да се форматира

0
11/06/2017 21:54:31
YankoGrancharov avatar YankoGrancharov 6 Точки

сега го пробвах като добавих 

if eSum == 0:
    eSum = "0.0"
if oSum == 0:
    oSum = "0.0"

и вече минава знам че не е най-прицизното решение  но :) 

0
gamebooker avatar gamebooker 2 Точки

Благодаря!

Да, не най-прецизното, но все пак е напредък, докато не намерим най-прецизното :)

0
Dancho7979 avatar Dancho7979 0 Точки
n = int(input())

result = 0
EvenSum = 0
OddSum = 0
EvenMax = -1000000000.0
EvenMin = 1000000000.0
OddMax = -1000000000.0
OddMin = 1000000000.0


for n in range(0, n):

    input_numbers = float(input())
    result = n % 2

    if result == 1:
        EvenSum += input_numbers
        if EvenMax < input_numbers:
            EvenMax = input_numbers
        elif EvenMin > input_numbers:
            EvenMin = input_numbers


    elif result == 0:
        OddSum += input_numbers
        if OddMax < input_numbers:
            OddMax = input_numbers
        elif OddMin > input_numbers:
            OddMin = input_numbers
if OddSum == 0:
    print('OddSum='+f'{OddSum:g}'+',')
    print('OddMin=No,')
    print('OddMax=No,')
else:
    print('OddSum='+f'{OddSum:g}'+',')
    if not OddMin == 1000000000.0:
        print('OddMin='+f'{OddMin:g}'+',')
    if OddMin == 1000000000.0:
        print('OddMin='+f'{OddMax:g}'+',')
    print('OddMax='+f'{OddMax:g}'+',')

if EvenSum == 0:
    print('EvenSum='+f'{EvenSum:g}'+',')
    print('EvenMin=No,')
    print('EvenMax=No,')
else:
    print('EvenSum='+f'{EvenSum:g}'+',')
    if not EvenMin == 1000000000.0:
        print('EvenMin='+f'{EvenMin:g}'+',')
    if EvenMin == 1000000000.0:
        print('EvenMin='+f'{EvenMax:g}'+',')
    print('EvenMax='+f'{EvenMax:g}')

Ето го и моят код ,но не мога да разбера защо прочита при вход

5
3
-2
8
11
-3

от условието грешно числото - 2 , което трябва да ми е като EvenMin като изход , за съжаление ми го подава като  1000000000.0 и излиза грешно .Някой може ли да го погледне. Предварително благодаря.

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.