Hearted Youtube comments on Михаил Омельченко | Django School (@DjangoSchool) channel.

  1. Михаил, всем не угодить, сколько людей столько мнений, а желаний еще больше. Я прошёл за почти год много уроков, от разных ребят, и каждый по своему классный со своими фишками и так далее. Но есть ребята которые просто шарят и рассказывают(деляться своими знаниями), а есть те которые сразу осязают. Например по питону чистому, много ребят шарят, все круто, но мало тех после которых начинаешь реально шарить. вот мало таких ребят, которые вот вроде бы и не разжевуют, но после них сразу все ясно, что да как, да почему.вот допустим в моем случае только Анрея Кудлая уроки по питону, и он же по ткинтеру.(после его уроков я сразу начал писать сам сходу, практически, хоть на питоне, хоть на ткинтере), хотя доэтого прошел курсов багацько. Так вот к чему эта вся эпопея, к тому что таких вот ребят после которых с первого раза все ясно, и практически сразу готов писать сам(утрированно) очень мало, а по джанго(русскоговорящих)вообще практически нет. И тут появился паренек Миша, который разжевует так что осталось только употребить и все. И люди все равно недовольны. Это вечная тема... а трекич класнный на фоне. Сорян что так развёрнуто расписал. Кому надо тот поймёт. А тебе Миша спасибо! П.С. : люди! Человек пишет и учит реальным проэктам, ау, это живые бабки, тоесть вы совершенно бесплатно получаете схему написания готовых проэктов, с помощью которых можно хоть сейчас начинать зарабатывать, или просто работать и так далее. немногие платные курсы таким могут похвастаться...
    82
  2. 54
  3. 46
  4. 37
  5. 35
  6. 32
  7. 29
  8. 26
  9. 23
  10. 22
  11. 20
  12. 18
  13. 18
  14. 17
  15. 17
  16. 17
  17. 16
  18. 16
  19. 15
  20. 15
  21. 15
  22. 15
  23. 14
  24. 14
  25. 14
  26. 13
  27. 13
  28. 12
  29. 12
  30. 12
  31. 12
  32. 12
  33. 11
  34. 11
  35. 11
  36. 11
  37. 11
  38. 10
  39. 10
  40. 10
  41. 9
  42. 9
  43. 9
  44. 9
  45. 8
  46. 8
  47. 8
  48. 8
  49. 8
  50. 8
  51. 7
  52. 7
  53. 7
  54. 7
  55. 7
  56. 7
  57. 7
  58. 7
  59. 7
  60. 7
  61. 6
  62. 6
  63. 6
  64. 6
  65. 6
  66. 6
  67. 6
  68. 6
  69. 6
  70. 6
  71. 6
  72. 6
  73. 6
  74. 6
  75. 6
  76. 6
  77. 6
  78. 6
  79. 5
  80. 5
  81. 5
  82. 5
  83. 5
  84. 5
  85. 5
  86. 5
  87. 5
  88. 5
  89. 5
  90. 5
  91. 5
  92. 5
  93. 5
  94. 5
  95. 5
  96. 5
  97. 5
  98. 5
  99. 5
  100. 5
  101. 5
  102. 5
  103. 5
  104. 5
  105. 5
  106. 5
  107. 4
  108. 4
  109. 4
  110. 4
  111. 4
  112. 4
  113. 4
  114. 4
  115. 4
  116. 4
  117. 4
  118. 4
  119. 4
  120. 4
  121. 4
  122. 4
  123. 4
  124. 4
  125. 4
  126. 4
  127. 4
  128. 4
  129. 4
  130. 4
  131. 4
  132. 4
  133. 4
  134. 4
  135. 4
  136. 4
  137. 4
  138. 4
  139. 4
  140. 4
  141. 4
  142. 4
  143. 3
  144. 3
  145. 3
  146. 3
  147. 3
  148. 3
  149. 3
  150. 3
  151. 3
  152. 3
  153. 3
  154. 3
  155. 3
  156. 3
  157. 3
  158. 3
  159. 3
  160. 3
  161. 1 Слышу звук будильника 2 подымаю правую руку 3 открываю глаза 4 делаю наклон тела вправо через левое плечо 5 беру в руку телефон 6 думаю отключить или отложить на 10 минут 7 отключаю будильник 8 кладу телефон обратно 9 снимаю с себя одеяло 10 сажусь 11 думаю... 12 сбрасываю ноги на пол 13 пытаюсь встать 14 встаю 15 направляюсь к дверному проёму коридора 16 ищу включатель ванной комнаты 17 включаю там свет 18 открываю дверь в ванную 19 закрываю глаза от яркого света 20 открываю глаза 21 захожу в комнату 22 беру в руки щетку 23 беру в руки тюбик с пастой 24 откручиваю крышку в пасте 25 выдавливаю пасту на щетку 26 закручиваю тюбик с пастой 27 открываю кран с водой 28 подставляю под воду щетку с пастой 29 закрываю воду 30 открываю рот 31 запихиваю в рот щетку 32 начинаю чистить зубы (функция чистки зубов) 33 заканчиваю чистить зубы 34 смотрю в зеркало 35 вынимаю щетку со рта 36 включаю воду (пора писать функцию по включению воды) 37 начинаю мыть щетку 38 кладу щетку в стакан 39 смотрю в зеркало, чтобы оценить как сильно умываться 40 начинаю полоскать рот водой 41 умываюсь 42 закрываю воду в кране 43 иду к полотенцу 44 беру полотенце 45 вытираю лицо 47 вешаю полотенце 48 выхожу с ванной комнаты 49 закрываю дверь 50 выключаю свет
    3
  162. 3
  163. 3
  164. 3
  165. 3
  166. 3
  167. 3
  168. 3
  169. 3
  170. 3
  171. 3
  172. 3
  173. 3
  174. 3
  175. 3
  176. 3
  177. 3
  178. 3
  179. 3
  180. 3
  181. 3
  182. 3
  183. 3
  184. 3
  185. 3
  186. 3
  187. 3
  188. 2
  189. 2
  190. 2
  191. 2
  192. 2
  193. 2
  194. 2
  195. 2
  196. 2
  197. 2
  198. 2
  199. 2
  200. 2
  201. 2
  202. 2
  203. 2
  204. 2
  205. 2
  206. 2
  207. 2
  208. 2
  209. 2
  210. 2
  211. 2
  212. 2
  213. 2
  214. Спасибо за совет книги Эрика Мэтиза ,кроме основ языка он еще хорошо учит наименованию объектов ,совмещал эту книгу еще с интерактивным курсом https://pythontutor.ru/. Кстати вы советовали тогда изучать книгу только до классов включительно и не зря . У Мэтиза даются просто инструменты ООП ,классы,подклассы,декораторы,но вот ,что такое ООП ,у него не рассказано .Словно дает машину ,а правила движения не рассказывает ,и код старой версии книги в главах про игру отличается достаточно заметно .Если в новой ,2020 года, там ООП,то в старой версии ,кажется больше на функциональное программирование похоже . Поэтому моя рекомендация книга "Мэтт Вайсфельд Объектно-ориентированное мышление ". А то пока не прочитал первые страниц 80 книги про ООП (а больше мне как начинающему и не надо пока),совсем не понимал принципы построения кода игры про вторжение инопланетян.Думаю ООП -это программирование ,которые после знакомства с инструментарием и легкой практики его использования ,требует уже знакомства с его принципами иначе и смысла нет.
    2
  215. 2
  216. 2
  217. 2
  218. 2
  219. 2
  220. 2
  221. 2
  222. 2
  223. 2
  224. 2
  225. 2
  226. 2
  227. 2
  228. 2
  229. 2
  230. 2
  231. 2
  232. 2
  233. 2
  234. 2
  235. 2
  236. 2
  237. 2
  238. 2
  239. 2
  240. 2
  241. 2
  242. 2
  243. 2
  244. 2
  245. 2
  246. 2
  247. 2
  248. 2
  249. 2
  250. 2
  251. 2
  252. 2
  253. 2
  254. 2
  255. 2
  256. 2
  257. 2
  258. 2
  259. 2
  260. 2
  261. 2
  262. 2
  263. 2
  264. 2
  265. 2
  266. 2
  267. 2
  268. 2
  269. 2
  270. 2
  271. 2
  272. 2
  273. 2
  274. 2
  275. 2
  276. 2
  277. 2
  278. 2
  279. 2
  280. 2
  281. 2
  282. 2
  283. 2
  284. 2
  285. 2
  286. 2
  287. 2
  288. 2
  289. 2
  290. 2
  291. 2
  292. 2
  293. 2
  294. 2
  295. 2
  296. 2
  297. 2
  298. 2
  299. 2
  300. 2
  301. 2
  302. 2
  303. 2
  304. 2
  305. 2
  306. 2
  307. 2
  308. 2
  309. 2
  310. 2
  311. 2
  312. 2
  313. 2
  314. 2
  315. 2
  316. 2
  317. 2
  318. 2
  319. 2
  320. 2
  321. 2
  322. 2
  323. 2
  324. 2
  325. 2
  326. 2
  327. 2
  328. 2
  329. 2
  330. 2
  331. 2
  332. 2
  333. 2
  334. 2
  335. 2
  336. 2
  337. 2
  338. 2
  339. 1
  340. 1
  341. 1
  342. 1
  343. 1
  344. 1
  345. 1
  346. 1
  347. 1
  348. 1
  349. 1
  350. 1
  351. 1
  352. 1
  353. 1
  354. 1
  355. 1
  356. 1
  357. 1
  358. 1
  359. 1
  360. 1
  361. 1
  362. 1
  363. 1
  364. 1
  365. 1
  366. 1
  367. 1
  368. 1
  369. 1
  370. 1
  371. 1
  372. 1
  373. 1
  374. 1
  375. 1
  376. 1
  377. 1
  378. 1
  379. 1
  380. 1
  381. 1
  382. 1
  383. 1
  384. 1
  385. 1
  386. 1
  387. 1
  388. 1
  389. 1
  390. 1
  391. 1
  392. 1
  393. 1
  394. 1
  395. 1
  396. 1
  397. 1
  398. 1
  399. 1
  400. 1
  401. 1
  402. 1
  403. 1
  404. 1
  405. 1
  406. 1
  407. 1
  408. 1
  409. 1
  410. 1
  411. 1
  412. 1
  413. 1
  414. 1
  415. 1
  416. 1
  417. 1
  418. 1
  419. 1
  420. 1
  421. 1
  422. 1
  423. 1
  424. 1
  425. 1
  426. 1
  427. 1
  428. 1
  429. 1
  430. 1
  431. 1
  432. 1
  433. 1
  434. 1
  435. 1
  436. 1
  437. 1
  438. 1
  439. 1
  440. 1
  441. 1
  442. 1
  443. 1
  444. 1
  445. 1
  446. 1
  447. 1
  448. 1
  449. 1
  450. 1
  451. 1
  452. 1
  453. Пришлось попотеть. Сделал программу для охранника стоянки: 😅 import json # Для работы с JSON def load_data(file_name): """Загрузка данных из файла.""" try: with open(file_name, "r", encoding="utf-8") as file: return json.load(file) except FileNotFoundError: return {} # Если файл отсутствует, возвращает пустой словарь except json.JSONDecodeError: print("Ошибка чтения данных из файла. Проверьте формат.") return {} def save_data(file_name, data): """Сохранение данных в файл.""" with open(file_name, "w", encoding="utf-8") as file: json.dump(data, file, ensure_ascii=False, indent=4) def main(): file_name = "car_owners.json" car_owners = load_data(file_name) while True: command = input("1 - Добавить\n2 - Удалить\n3 - Просмотр\n4 - Изменить запись\n0 -Выход\nВведите команду: ") if command == '1': # Добавить запись name = input("Введите имя владельца машины: ") if car_owners.get(name): print("Такое имя уже существует") continue car_make_and_model = input("Введите марку и модель машины: ") car_number = input("Введите номер машины: ") owner_phone_number = input("Введите номер телефона владельца машины: ") car_owners[name] = [car_make_and_model, car_number, owner_phone_number] print(f"Создана новая запись: Владелец: {name} Автомобиль: {car_make_and_model} с Гос. номером: /{car_number}/ Телефон для связи: {owner_phone_number}") elif command == '2': name = input("Введите имя владельца машины для удаления: ") if name in car_owners: car_owners.pop(name) print(f"\nЗапись с Именем: {name}, Автомобиль: {car_make_and_model}, Гос. номер: /{car_number}/ удалена!") else: print(f"Запись с Именем: {name} не найдена!") elif command == '3': # Просмотр всех записей if not car_owners: print("Список владельцев пуст.") else: print("\nСписок владельцев автомобилей:") for name, (car_make_and_model, car_number, owner_phone_number) in car_owners.items(): print(f"Владелец: {name}, Автомобиль: {car_make_and_model}, Гос. номер:/{car_number}/ Телефон для связи: {owner_phone_number}") elif command == '4': # Изменить запись name = input("Введите имя владельца для изменения: ") if name not in car_owners: print("\nИмя не найдено, введите существующее имя!\n") continue new_car_make_and_model = input("Введите новую марку и модель автомобиля: ") new_car_number = input("Введите новый номер автомобиля: ") owner_phone_number = input("Введите номер телефона владельца машины: ") car_owners[name] = [new_car_make_and_model, new_car_number, owner_phone_number] print(f"Запись для {name} обновлена. Автомобиль: {new_car_make_and_model}, Гос. номер: /{new_car_number}/ Телефон для связи: {owner_phone_number}") elif command == '0': # Выход из программы save_data(file_name, car_owners) print("Данные сохранены. Выход из программы.") break else: print("Неизвестная программа. Попробуйте снова.") main()
    1
  454. 1
  455. 1
  456. 1
  457. 1
  458. 1
  459. 1
  460. 1
  461. 1
  462. 1
  463. 1
  464. 1
  465. 1
  466. 1
  467. 1
  468. 1
  469. 1
  470. 1
  471. 1
  472. 1
  473. 1
  474. 1
  475. 1
  476. 1
  477. 1
  478. 1
  479. 1
  480. 1
  481. 1
  482. 1
  483. 1
  484. 1
  485. 1
  486. 1
  487. 1
  488. 1
  489. 1
  490. 1
  491. 1
  492. 1
  493. 1
  494. 1
  495. 1
  496. 1
  497. 1
  498. 1
  499. 1
  500. 1
  501. 1
  502. 1
  503. 1
  504. 1
  505. 1
  506. 1
  507. 1
  508. 1
  509. 1
  510. 1
  511. 1
  512. 1
  513. 1
  514. 1
  515. 1
  516. 1
  517. 1
  518. 1
  519. 1
  520. 1
  521. 1
  522. 1
  523. 1
  524. 1
  525. 1
  526. 1
  527. 1
  528. 1
  529. 1
  530. 1
  531. 1
  532. 1
  533. 1
  534. 1
  535. 1
  536. 1
  537. 1
  538. 1
  539. 1
  540. 1
  541. 1
  542. 1
  543. 1
  544. 1
  545. 1
  546. 1
  547. 1
  548. 1
  549. 1
  550. 1
  551. 1
  552. 1
  553. 1
  554. 1
  555. 1
  556. 1
  557. 1
  558. 1
  559. 1
  560. 1
  561. 1
  562. 1
  563. 1
  564. 1
  565. 1
  566. 1
  567. 1
  568. 1
  569. 1
  570. 1
  571. 1
  572. 1
  573. 1
  574. 1
  575. 1
  576. 1
  577. 1
  578. 1
  579. 1
  580. 1
  581. 1
  582. 1
  583. 1
  584. 1
  585. 1
  586. 1
  587. 1
  588. 1
  589. 1
  590. 1
  591. 1
  592. 1
  593. 1
  594. 1
  595. 1
  596. 1
  597. 1
  598. 1
  599. 1
  600. 1
  601. 1
  602. 1
  603. 1
  604. 1
  605. 1
  606. 1
  607. 1