[personal profile] blocknote

 продолжаю мучать бинг потому, что перплексити после пары дней общения со мной вместо ответов начал давать невнятные отписки. Глупеет ИИ от общения с дураками! Факт!

Но внезапно творчески разродился воскресший на моем компе Бинг. Выданный им код не работает разумеется, но и ошибок браузер не выдает... на первый взгляд логика в нем есть, осталось значит вкурить где и какие шестеренки из этого и как вставить.

Чем это лучше чем курить туториалы? Тем, что он решает конкретные задачи, а не загружает мне мозги абстрактными задачами, которые мне возможно в жизни никогда не понадобятся. В общем, сам от этих абстракций никогда на землю не спущусь и на практике не строчки не напишу. 
В общем, попытка намба ту


Здравствуйте, это Bing. Я могу помочь вам с написанием кода для Twine 2. 😊
 
Ваша задача состоит в том, чтобы пересчитать количество дней в количество месяцев, учитывая високосные годы. Для этого вам нужно знать, как определить, является ли год високосным, и как узнать, сколько дней в каждом месяце.
 
Високосный год - это год, который делится на 4 без остатка, но не делится на 100 без остатка, за исключением тех, которые делятся на 400 без остатка1. Например, 2000 год был високосным, а 2100 год не будет.
 
Количество дней в каждом месяце зависит от номера месяца и того, является ли год високосным. Обычно, в январе, марте, мае, июле, августе, октябре и декабре 31 день, в апреле, июне, сентябре и ноябре 30 дней, а в феврале 28 или 29 дней в зависимости от високосности года.
 
Для решения вашей задачи я написал следующий код:
 
<<set $months to []>>
<<set $daysInMonth to [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]>>
<<set $leapYear to false>>
<<set $year to 2024>>
<<if ($year % 4 == 0 and ($year % 100 != 0 or $year % 400 == 0))>>
  <<set $leapYear to true>>
  <<set $daysInMonth[1] to 29>>
<</if>>
<<for _i to 0; _i lt $days.length; _i++>>
  <<set _day to $days[_i]>>
  <<set _month to 0>>
  <<while _day gt 0>>
    <<set _day to _day - $daysInMonth[_month]>>
    <<set _month to _month + 1>>
  <</while>>
  <<set _day to _day + $daysInMonth[_month - 1]>>
  <<set $months.push(_month)>>
<</for>>
 
Этот код создает массив $months, в котором хранятся номера месяцев, соответствующие количеству дней в массиве $days. Он также учитывает високосность года, заданного переменной $year, и корректирует количество дней в феврале. Вы можете изменить значения этих переменных по своему усмотрению.
 
Надеюсь, что этот код вам поможет. Если у вас есть еще вопросы, я рад помочь. 😊

==================================
 

<<for _i to 0; _i lt $days.length; _i++>>

<<set _day to $days[_i]>>

<<set _month to 0>>

 

Что делает это код?

 

Давайте разберем, что делает этот фрагмент кода:

<<for _i to 0; _i lt $days.length; _i++>>: Этот фрагмент кода создает цикл, который будет выполняться для каждого элемента в массиве $days. Переменная _i увеличивается на 1 с каждой итерацией цикла.

<<set _day to $days[_i]>>: В этой строке кода переменной _day присваивается значение элемента массива $days с индексом _i. Таким образом, на каждой итерации цикла _day будет содержать значение соответствующего элемента массива $days.

<<set _month to 0>>: Здесь переменной _month присваивается значение 0. Однако, в дальнейшем этой переменной не присваивается новое значение в этом фрагменте кода.

Таким образом, этот фрагмент кода используется для итерации по элементам массива $days и присваивания их значения переменной _day. Переменная _month инициализируется значением 0, но в этом фрагменте кода ей не присваивается новое значение.

 

 Символ _ в языке программирования используется для именования переменных, которые не будут использоваться в коде. В данном случае, _i используется для итерации по элементам массива, но также может использоваться для обозначения переменной, которая не используется в коде. Это соглашение об именовании переменных используется во многих языках программирования, включая JavaScript, Python и другие.
 

Итерация в программировании - это один проход по циклу. Когда выполняется цикл, программа выполнит тело цикла по одному разу за каждую итерацию

2

. В контексте данного кода, _i используется для итерации по элементам массива, и он увеличивается на 1 после каждой итерации цикла. Это позволяет циклу for выполняться для каждого элемента массива до достижения последнего элемента массива

2

.

 


(will be screened)
(will be screened)
(will be screened)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

blocknote

January 2025

S M T W T F S
    1234
567891011
12131415 161718
19202122232425
2627 28293031 

Style Credit

Expand Cut Tags

No cut tags
Powered by Dreamwidth Studios