Технологии Чайника
41 subscribers
288 photos
15 videos
175 files
69 links
Отчаянные технологии...

> https://t.me/teaspot500
Download Telegram
Захотел поиграть в Deisim и решил сделать не как раньше просто развивающийся остров, а теперь будет один основной остров для строительства и куча маленьких отдельно с тайгой, пустыней, горами и прочим, чтобы могли отдельно плавать люди за отдельными нужными ресурсами или подобным, чтобы было проще всё выстраивать
Вот и наступило 8 марта, поэтому поздравляю всех девушек, женщин и прочих с праздником, который является больше, чем женским - это праздник демократии и равноправия.. Поздравляю!
print('''
ad88888ba
d8" "8b
Y8a a8P
"Y8aaa8P"
,d8"""8b,
d8" "8b
Y8a a8P
"Y88888P"
\n С 8 марта!''')
Чтож, я подумал, что мне не хватает проектов с 2D сеткой.. то есть подобия "Игра в жизнь" или чего-то подобного, в плане способа визуализации... Поэтому сегодня займусь подобными проектами
Первая идея для клеточного автомата:

Сетка, где указаны строки и столбцы
В таблице все символы являются не закрашенными квадратиками веб шрифта
Каждый ход в цикле пользователь может указать строку и столбец
После указания нужная позиция закрашивается, если была не закрашена, иначе наоборот перестаёт быть закрашена
После этого цикл начинается заново

Таким образом довольно костыльно, но можно будет что-то нарисовать
👍1
Ах да, мне всё ещё надо познать парсинг сайтов
Я узнал о codefile.io - прикольный сайт, чтобы писать код с кем нибудь
Я кстати закончил делать клеточную рисовалку и в процессе работы познакомился с принципом работы двухмерных массивов, что буду использовать в дальнейших проектах и скорых клеточных автоматах
def Show():
print("\n")
show = ""
for i in CELLS:
for n in range(5):
show += str(i[n])+" "
print(show)
show = ""

CELLS = [
["◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["◻︎", "◻︎", "◻︎", "◻︎", "◻︎"]
] # ◼︎ ◻︎

while True:
Show()
print("\nУкажите какой символ вы хотите изменить")
x = input("Укажите строчку: ")
y = input("Укажите столбец: ")
try:
x = int(x)-1
y = int(y)-1
except Exception:
print("(!) Вы допустили ошибку (Ввели не число)")
continue
if ((x<1)or(x>5)) or ((y<1)or(y>5)):
print("(!) Вы допустили ошибку (Ввели недопустимое число)")
continue

print(x, y)
if CELLS[x][y] == "◻︎":
CELLS[x][y] = "◼︎"
elif CELLS[x][y] == "◼︎":
CELLS[x][y] = "◻︎"
Теперь у меня появились следующие идеи:
1. Банально крестики-нолики
2. Тот же код, но с возможностью самому создавать нужного размера холст
3. Игра в жизнь
Немного переделал код для большего удобства
def Show():
print("\n")
show = ""
for i in CELLS:
for n in range(10):
show += str(i[n])+" "
print(show)
show = ""

CELLS = [
[" ", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
["1", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["2", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["3", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["4", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["5", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["6", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["7", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["8", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
["9", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎", "◻︎"],
] # ◼︎ ◻︎

while True:
Show()
print("\nУкажите какой символ вы хотите изменить")
x = input("Укажите строчку: ")
y = input("Укажите столбец: ")
try:
x = int(x)
y = int(y)
except Exception:
print("(!) Вы допустили ошибку (Ввели не число)")
continue
if ((x<1)or(x>9)) or ((y<1)or(y>9)):
print("(!) Вы допустили ошибку (Ввели недопустимое число)")
continue

print(x, y)
if CELLS[x][y] == "◻︎":
CELLS[x][y] = "◼︎"
elif CELLS[x][y] == "◼︎":
CELLS[x][y] = "◻︎"
This media is not supported in your browser
VIEW IN TELEGRAM
Я бы сказал, что это бесполезно в программировании, но ещё больше меня беспокоит то, что многие не знаю банальных функций exel, которые как раз и позволяют делать подобное, причём не только в этом примере, не говоря уже о возможности сложные формулы составлять с автоматическим просчитыванием или и вовсе не говоря о макросах, которые позволяют запускать дум на exel
Окей, я не заметил очевидный стёб в видео, где чётность каждого числа проверяется отдельным условием вместо встроенных функций и модулей
Начал создавать крестики-нолики и понял, что слишком сонный
Планирую проверять является ли число числом от 1 до 9 и при этом свободным
После этого в таблице выводимой цифра меняется на X или O, а в созданном списке добавляется число и после сравнивается весь список с массивом WINS, чтобы при наличии той же комбинации была победа одной из команд
from random import randint
turn = bool(randint(0, 1))

CELLS = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

WINS = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[1, 4, 7],
[2, 5, 8],
[3, 6, 9],
[1, 5, 9],
[3, 5, 7]
]

while True:
print("\n")
show = ""
for i in CELLS:
for n in range(3):
show += str(i[n])+" "
print(show)
show = ""

if turn:
input("Куда поставить крест: ")
turn = False
else:
input("Куда поставить ноль: ")
turn = True
Продолжение изучения сокращения масштаба кода приводят не только к моржам, но и к возможности в одну строчку проверять чётность числа:
print("Нечётно" if int(input())%2 else "Чётно")
Пора пояснить за используемые мной сокращения, которые позволяют выполнять "сложные" задачи в одну строчку... Вот вам пример кода, который я назвал бы мусорным:
num1 = 5
num2 = 7
sum = num1 + num2
print(sum)

Даже не используя мои методы, вроде моржа, можно сразу считать значение в принте, не создавая лишние переменные, которые не будут использоваться:
num1 = 5
num2 = 7
print(num1 + num2)

Здесь задано условие, что используются переменные ранее, иначе в этом бы вновь не было смысла, можно было бы просто в принте написать сразу 12.. Но что, если они задаются, условно инпутом и будут использоваться далее? Тут поможет морж, позволяющий задать и использовать переменную одновременно:
print((num1:=int(input()))+(num2:=int(input())))

Получаем код в одну строку, при этом использовать переменные мы сможем в дальнейшем

Теперь я бы хотел рассмотреть длинные условия, которые можно писать в одну строчку:
if True:
print("Hello World!")
else:
print("Goodbye!")

Здесь сразу видно, что можно сократить и писать без табуляции
if True: print("Hello World!")
else: print("Goodbye!")

Однако я бы использовал иную функцию, а именно условие в принте:
print("Hello World!" if True else "Goodbye!")

...
Этим простым кодом я хочу показать бессмысленность написания str(input()) в коде:
print(type(input()))
# Попробуйте ввести числа
Мне не нравится, что люди воспринимают нейросети не как мощный инструмент в помощи созданием кода, а как способ получить готовое решение, даже не пытаясь понять как оно работает

Я редко использую нейросети и использую в коде только с целью узнать что-то новое или вспомнить, однако замечаю использование нейросетей другими людьми как средство написание всего кода, от чего код выглядит странно, мусорно, парой не работая и при этом сам человек не способен объяснить принцип работы своего же кода, ведь он в нём и не разбирается

Если говорить на тему замены программистов нейросетями, то тут так же нет, ведь улучшение самих нейросетей будет требовать имение программиста на месте
❤‍🔥2
Мне нравится ассистент в роблокс студио, потому что он как раз и является инструментом, который активно помогает в разработке и исправляет ошибки при открытом скрипте, сильно мне помогая ИЗУЧАТЬ lua, вместо того, чтобы просто давать готовый ответ
Команды Brainfuck
1. > — переместить указатель данных на одну ячейку вправо.
2. < — переместить указатель данных на одну ячейку влево.
3. + — увеличить значение в текущей ячейке на 1.
4. - — уменьшить значение в текущей ячейке на 1.
5. . — вывести значение текущей ячейки как символ.
6. , — ввести символ и сохранить его значение в текущей ячейке.
7. [ — если значение текущей ячейки равно 0, перейти вперёд по тексту программы до соответствующей команды ].
8. ] — если значение текущей ячейки не равно 0, вернуться назад по тексту программы до соответствующей команды [.
+[>,.]

Код выводит всё, что ввёл пользователь
+[.+]

Выводит все символы