Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2016 22:53:27

crazyma66ot
Зарегистрирован: 2016-10-12
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

Условие задачи такое:

Дано натуральное число n. Напечатайте все n-значные нечетные натуральные числа в порядке убывания.

пример:

1 : 9 7 5 3 1

мое решение:

 n = int(input())
for i in range((10**n) - 1, 10**(n-1), - 1):
    if i % 2 != 0:
        print(i)

в контесте выдает WA, но в юпитере прорешалось нормально

Офлайн

#2 Ноя. 14, 2016 23:12:54

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

 print(' '.join(str(i) for i in range(10**n-1, 10**(n-1), -2)))



Отредактировано izekia (Ноя. 14, 2016 23:14:32)

Офлайн

#3 Ноя. 14, 2016 23:17:43

crazyma66ot
Зарегистрирован: 2016-10-12
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

izekia
а вам не трудно объяснить почему так? я пока не очень разбираюсь во всем этом (

Офлайн

#4 Ноя. 15, 2016 00:22:35

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

crazyma66ot
а вам не трудно объяснить почему так? я пока не очень разбираюсь во всем этом (

 n = int(input())
for i in range((10**n) - 1, 10**(n-1), - 1):
    if i % 2 != 0:
        print(i)
у Вас в этом решении все правильно, но зачем вычислять нечетные числа через деление, когда мы и так знаем что это каждое второе, соответственно берем шаг не -1, а -2 … что я и написал выше

то есть технически если развернуть в несколько строк:
 print(' '.join(str(i) for i in range(10**n-1, 10**(n-1), -2)))
получится:
 for i in range(10**n-1, 10**(n-1), -2):
    print(i, end=' ')
понимаете что поменялось?



Отредактировано izekia (Ноя. 15, 2016 00:25:51)

Офлайн

#5 Ноя. 15, 2016 17:42:30

crazyma66ot
Зарегистрирован: 2016-10-12
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

izekia
да, спасибо большое. а можно с вами как-то лично связаться?

Офлайн

#6 Ноя. 15, 2016 17:44:05

crazyma66ot
Зарегистрирован: 2016-10-12
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

izekia
все равно выдает ошибку

Офлайн

#7 Ноя. 15, 2016 17:51:14

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

в чем может быть ошибка?



Офлайн

#8 Ноя. 15, 2016 18:45:03

crazyma66ot
Зарегистрирован: 2016-10-12
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

FishHook
нет, в интерпретаторе все решается нормально, WA выдает яндекс контест

Офлайн

#9 Ноя. 15, 2016 18:49:18

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

crazyma66ot
WA выдает яндекс контест
Из этого понял почти все слова, но не понял как они связаны.
Вы понимаете, что “WA” - это что-то такое, что известно только вам?



Офлайн

#10 Ноя. 15, 2016 18:57:44

crazyma66ot
Зарегистрирован: 2016-10-12
Сообщения: 15
Репутация: +  0  -
Профиль   Отправить e-mail  

в чем может быть ошибка?

FishHook
вердикт яндекс контеста - неверный ответ.

на мое решение:

 with open ('input.txt') as fin:
    n = fin.readline().rstrip()
for i in range((10**n) - 1, 10**(n-1), - 1):
    if i % 2 != 0:
with open ('output.txt', 'w') as fout:
    print(i, end=' ', file=fout)

вердикт - ошибка при комплияции

stdout:


stderr:
Traceback (most recent call last):
File “/usr/lib/python3.4/py_compile.py”, line 124, in compile
_optimize=optimize)
File “<frozen importlib._bootstrap>”, line 1532, in source_to_code
File “<frozen importlib._bootstrap>”, line 321, in _call_with_frames_removed
File “/temp/compiling/fee13c1e-5514-4cb3-922a-d4bc0044617c”, line 5
with open ('output.txt', ‘w’) as fout:
^
IndentationError: expected an indented block

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/temp/compiling/compilingScript”, line 17, in <module>
py_compile.compile(dst, doraise=True)
File “/usr/lib/python3.4/py_compile.py”, line 128, in compile
raise py_exc
py_compile.PyCompileError: Sorry: IndentationError: expected an indented block (fee13c1e-5514-4cb3-922a-d4bc0044617c, line 5)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version