Форум сайта python.su
Доброе время суток
Решаю уже несколько дней задачу, связанную с циклами, вроде все верно, но в то же время где то затаилась ошибка. Прохожу курс, и ответы надо отправлять для проверки. Хотелось бы понять в чем вообще моя ошибка.
Сама задача:
Код решения:
r = int(input()) n = 0 #переменная показывающая последнюю цифру +1 q = 0 #переменная задающая последнюю цифру s='' if r == 1: print(1) else: while r > len(s)-1*r: while q >= n: s+= (str(n)+' ')*n n+=1 q += 1 u=s[0:r+r*1] for i in u: print(i,end='', sep = '' )
Отредактировано sl0w (Май 13, 2016 12:26:15)
Офлайн
Добрый день. Я бы воспользовался функцией range()
к примеру
def ol(number): string = "" count = 0 for n in range(number): if n ==0: continue for i in range(n): string += (str(n)+" ") count +=1 if count == number: string = string.rstrip(" ") return (string) break
Офлайн
Офлайн
большое спасибо , однако все же не понятно в чем у меня ошибка
либо это не у меня ошибка, а у программы верификации ответа ?
Отредактировано sl0w (Май 13, 2016 13:50:23)
Офлайн
А что именно Вас не устраивает в Вашей программе?
Офлайн
исключительно то что она не проходит верификацию, а так - вроде работает как нужно, хоть и кривато написана
Офлайн
sl0wНу это весьма спорный вопрос. Я не могу сказать почему Ваша программа не проходит где - то верификацию. Возможно есть условия, которые Вы упустили из виду. Почитайте темы, которые рекомендует py.user.next
исключительно то что она не проходит верификацию, а так - вроде работает как нужно, хоть и кривато написана
py.user.nextВозможно там кроется ответ.
Уже было
Уже было
Отредактировано Vlad_Ki (Май 13, 2016 15:37:40)
Офлайн
Vlad_Ki
Не знаю, кто там и что верифицирует, но я бы автора вот такого решения побоялся бы допускать до настоящей задачи
for n in range(number): if n == 0: continue
Офлайн
FishHook
Осознал. Учту.
Спасибо
Слава богу людей в космос я не запускаю!)
Пока еще
Отредактировано Vlad_Ki (Май 13, 2016 18:12:30)
Офлайн
Пока внимал замечание от FishHook
озарился
def op(r): n = 0 #переменная показывающая последнюю цифру +1 q = 0 #переменная задающая последнюю цифру s='' while r > len(s)-r: while q >= n: s+= (str(n)+' ')*n n+=1 q += 1 u=s[0:r+r] return(u)
u=s[0:r+r*1] for i in u: print(i,end='', sep = '' )
while r > len(s)-1*r:
while r > len(s)-r:
u=s[0:r+r*1]
u=s[0:r+r]
Отредактировано Vlad_Ki (Май 13, 2016 19:42:57)
Офлайн