Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 20, 2017 11:15:34

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

py.user.next
Ты говоришь “а пускай она -1 вернёт”
нет, я говорю что если улитка за день проползает больше чем длинна палки то она полюбому проползет ее за 1 день, иначе нужно считать по формуле. Что тут непонятного?


Не ищи лишних сущностей там где их нет. Это задача не на програмирование, а на умение логически мыслить.
Это напоминает задачу про самолет и беговую дорожку, где люди целые холивары устраивают доказывая что задача поставлена некоректно; что невозможно выполнить все условия указаные в задаче и тд. Особо одаренные студенты авиационных вузов даже пытались на тренажере смоделировать, в итоге самолет становился вертикально упираясь носом в землю. А задача то на самом деле о том что человек отталкиваеться от дорожки и потому остаеться на месте, а самолет оттталкиваеться от воздуха(если он моторный) или за счет реактивной тяги, и ему в приниципе похер куда у него движеться ВПП под шасси. Это задача на понимание физики возникновения подьемной силы, а не рассчетов какая будет сила трения если колесо будет крутиться с укзаной скоростью и использовать подшипники фирмы “рогаикопыта”.
Или вот еще из то же оперы https://www.yaplakal.com/forum2/topic1089680.html
Что только люди не придумывали, чтобы решить эту элементарную задачу, рассуждая: “но ведь не скзано что нельзя делать вот так…..”. Они переводили числа в другие системы счисления, прнимали арабские числа за римские , создавали новые сущности добавляя фактриалы, извлекая корни или возводя в квадрат, считали запятые между числами разделителями целой и дробной части, переворачивали цифры из девятки получая шестерку, оставляя одно поле пустым, или вписывая туда 0, вписывали в квадрат сумму или разность и тд..
А на самом деле задачу решит любой школьник 5-го класса, если условия задачи перефразировать: “может ли сумма трех нечетных дать четное?” Ответ будет однозначным: “Нет”. Поэтому повторю, не ищите лишние сущности там где их нет.

PS Если так уж раздражает if то можно обойтись без if
вот полная формула, проверь на своем тесте.
 math.ceil(max([0,h-a])/(a-b))+1)



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Апрель 20, 2017 11:38:11)

Офлайн

#2 Апрель 20, 2017 11:47:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9716
Репутация: +  842  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

Так прошло (я поправил аргументы max ещё)

  
import math
 
def snaildays(h, a, b):
    return math.ceil(max(0, h - a) / (a - b)) + 1



Офлайн

#3 Апрель 20, 2017 11:48:06

dzen
Зарегистрирован: 2017-04-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

А я кажется пробовал такую формулу, но без ceil и не получалось

Офлайн

#4 Апрель 20, 2017 21:12:06

hirgant
Зарегистрирован: 2017-04-20
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

Писал программу, выдает ошибку:
While running game code:
File “renpy/common/00start.rpy”, line 64, in script
File “renpy/common/00start.rpy”, line 64, in script
ScriptError: could not find label ‘(u’C:\\Users\\Misha\\Desktop\\Going back to childhood/game/script.rpy', 1492701416, 10)'.

– Full Traceback ————————————————————

Full traceback:
File “C:\Users\Misha\Desktop\Renpy 6.16\Renpy 6.16\renpy\execution.py”, line 288, in run
node.execute()
File “C:\Users\Misha\Desktop\Renpy 6.16\Renpy 6.16\renpy\ast.py”, line 1233, in execute
next_node(renpy.game.context().lookup_return(pop=True))
File “C:\Users\Misha\Desktop\Renpy 6.16\Renpy 6.16\renpy\execution.py”, line 382, in lookup_return
return renpy.game.script.lookup(label)
File “C:\Users\Misha\Desktop\Renpy 6.16\Renpy 6.16\renpy\script.py”, line 547, in lookup
raise ScriptError(“could not find label ‘%s’.” % str(label))
ScriptError: could not find label ‘(u’C:\\Users\\Misha\\Desktop\\Going back to childhood/game/script.rpy', 1492701416, 10)'.

Не понимаю что сделать для ее исправления, помогите, ели не сложно.

Прикреплённый файлы:
attachment j1aLnWgK32E.jpg (92,2 KБ)

Офлайн

#5 Апрель 21, 2017 09:41:49

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

оно ж вам пишет что не может найти метку ‘(u’C:\\Users\\Misha\\Desktop\\Going back to childhood/game/script.rpy', 1492701416, 10)'.
У вас же слеши в разные стороны смотрят в строке, сначала идут “\\” потом “/”. вы считаете это нормальным?



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Апрель 21, 2017 09:43:30)

Офлайн

#6 Апрель 28, 2017 17:29:01

dzen
Зарегистрирован: 2017-04-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

Условие
По российским правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.
Дано неотрицательное число x, округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!

Почему не работает код правильно при значении 2.5?

x = float(input())
if type(x + x) == int:
print(floor(x) + 1)
else:
print(round(x))

Офлайн

#7 Май 3, 2017 11:22:55

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

dzen
x = float(input())
if type(x + x) == int:
почему вы решили что если сложить два float то оно на выходе вам int выдаст?
dzen
print(floor(x) + 1)
а почему тогда не написать тогда:
print(math.ceil(х))
и вообще я так понимаю что вам нужно решить задачу “в лоб” без использования каких либо модулей для округления, например так:
 x = float(input())
print(int(x+0.5))



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Май 3, 2017 11:25:44)

Офлайн

#8 Май 3, 2017 13:01:23

dzen
Зарегистрирован: 2017-04-17
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

pythontutor.ru - помощь по задачам

PEHDOM
почему вы решили что если сложить два float то оно на выходе вам int выдаст?
Этим я хотел задать исключение для таких чисел дробная часть которых 0.5
На пример 1.5 3.5 6.5 и тому подобные
А программа именно на 2.5 не работает корректно

Отредактировано dzen (Май 3, 2017 13:05:32)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version