Найти - Пользователи
Полная версия: pythontutor.ru - помощь по задачам
Начало » Python для новичков » pythontutor.ru - помощь по задачам
1 2
PEHDOM
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)
py.user.next
Так прошло (я поправил аргументы max ещё)
  
import math
 
def snaildays(h, a, b):
    return math.ceil(max(0, h - a) / (a - b)) + 1
dzen
А я кажется пробовал такую формулу, но без ceil и не получалось
hirgant
Писал программу, выдает ошибку:
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)'.

Не понимаю что сделать для ее исправления, помогите, ели не сложно.
PEHDOM
оно ж вам пишет что не может найти метку ‘(u’C:\\Users\\Misha\\Desktop\\Going back to childhood/game/script.rpy', 1492701416, 10)'.
У вас же слеши в разные стороны смотрят в строке, сначала идут “\\” потом “/”. вы считаете это нормальным?
dzen
Условие
По российским правилам числа округляются до ближайшего целого числа, а если дробная часть числа равна 0.5, то число округляется вверх.
Дано неотрицательное число x, округлите его по этим правилам. Обратите внимание, что функция round не годится для этой задачи!

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

x = float(input())
if type(x + x) == int:
print(floor(x) + 1)
else:
print(round(x))
PEHDOM
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))

dzen
PEHDOM
почему вы решили что если сложить два float то оно на выходе вам int выдаст?
Этим я хотел задать исключение для таких чисел дробная часть которых 0.5
На пример 1.5 3.5 6.5 и тому подобные
А программа именно на 2.5 не работает корректно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB