Python для начинающих. Урок 11 | Списки
HTML-код
- Опубликовано: 10 ноя 2024
- Сегодня начнем изучать списки в Python. Узнаем как они хранятся в памяти и поговорим о способах создания списков, а также о генераторах списка.
------
Наш чат: t.me/+EscIrZ6Y...
------
Telegram: t.me/plugar_inf
Группа в ВК: plugar_inf
Rutube: rutube.ru/chan...
------
Не забываем подписываться!
#python #начинающим #ityoutubersru
Домашнее задание:
I)
Написать программу, создающую список из введенной пользователем строки цифр (без пробелов). Вывести все элементы строки, которые имеют нечетные индексы.
II)
Напишите программу, которая получает на вход натуральное число. Создать и вывести список, заполненный квадратами четных чисел, делящихся на 5, от 1 до введенного числа.
III)
Написать программу, определяющую является ли введенный номер билета - "счастливым".
Билет называют «счастливым», если в его номере сумма первых трех цифр равна сумме последних трех.
Номер билета может быть от 000000 до 999999.
1)
x = list(input("Введите строку цифр без пробелов: "))
for i in range(len(x)):
if i % 2 != 0:
print(x[i])
2)
a = int(input('Введите число: '))
spisok = [i ** 2 for i in range(0, a + 1, 2) if i % 5 == 0]
print(spisok)
(теоретически ее можно решить и с использованием метода append)
for i in range(1, a + 1):
if i % 2 == 0 and i % 5 == 0:
spisok.append(i ** 2)
3)
x = input("Введите номер билета (от 000000 до 999999): ")
y = [int(y) for y in str(x)]
s1 = sum(y[:3])
s2 = sum(y[3:])
if len(y) != 6:
print('Введен неверный формат билета')
else:
if s1 == s2:
print('У вас счастливый билет')
else:
print('У вас несчастливый билет')
Если без функции sum, то после else:
for i in y[0:3]:
s1 += int(i)
for i in y[3:]:
s2 += int(i)
1)
pol = list(input('Write number:'))
print(pol[1::2])
2)
num = int(input('Write a number:'))
sp= [i**2 for i in range(1,num+1)if i%2==0 and i%5==0]
print(sp)
3)
Сам решение придумать не смог, подсмотрел его у пользователя сверху и разобрал чтобы понять, и думаю это идеальное решение, хоть и понял принцип не смог придумать альтернативный способ решения.
III)
Чисто 3 задание, думаю первые два были не сложные.
Без заморочек и с дополнением по-рандому.
from random import *
a=(str(randint(000000,999999)))
s1=0
for i in a[:3]:
s1+=int(i)
s2=0
for g in a[3:]:
s2+=int(g)
if s1==s2 :
print('Билет «счастливый»!')
else:
print('Увы, вы не выиграли')
3)
n = list(input('Напишите номер билета (от 000000 до 999999): '))
if n[0] + n[1] + n[2] == n[3] + n[4] + n[5]:
print('Билет счастливый')
else:
print('Билет обычный')
вот и всё, что требовалось
@@МаксимКуличенко-с7ц Размер приходит с опытом )
Спасибо, благодаря вашим видео сдал ОГЭ в прошлом году почти на высший балл!
Как повезло что вы ведете эти уроки, я как раз сейчас начал питон изучать. Уже успел разочароваться что 2 недели продолжения этих уроков не было, а тут вижу уведомление о новом видео) Спасибо за огромное за ваш труд!
Иван Викторович, вдохновения Вам, Вы - преподаватель от Бога! Ждем новых знаний, пониманий и навыков с Вашей помощью :)
Спасибо вам большое! Благодаря вам я разобрался со списками
Иван Викторович, спасибо большое за урок!
Лучший!!! Все по полочкам и понятно
Спасибо! Отличная подача материала.
Большое спасибо, очень доходчиво!
Супер, спасибо!!!
супер . все разжевано , все понятно
Класс
Спасибо, Иван Викторыч
Отличные уроки, с вами и на курсы не надо, ещё бы курс по SQL так записали, вообще шик был бы
лучший учитель по питону!
Класс, интересно было, спасибо тебе!
Отличный урок!
Спасибо большое за урок
Пишу хороший комментарий, т.к. урок очень понравился. Честно говоря, мне нравятся все уроки ИВ😀
whil True:
print("Иван Викторовичь красава!")
Спасибо!!!!!
Задача 2
s=int(input("Enter number"))
sp = [i ** 2 // 5 for i in range(1, s, 1) if i % 2 == 0]
print(sp)
Для тех кто пришел освежить память:
1) Рассмотри генератор списка
2) Что такое срез
3) Копирование списков / обращение ко списку
Харош)
прос имбовый курс
супер!
Шикарная подача материала))
спасибо
2.
a = int(input())
x = [a ** 2 for a in range(0, a+1) if a > 0 and a % 2 == 0 and a % 5 == 0]
print(x)
1. x = list((input()))
b = [x for x in x if x.strip()]
print(b[0::2])
17:52 вот это, конечно, очень интересно. Если я не ошибаюсь, в си++ Иначе. Там, кажется, скопируется именно значение. Потом в си ++ это будет как будто бы эти переменные живут каждой своей жизнью. Тут же в питоне, похоже, у переменых будет вечная связь. Вечная духовная связь😂 потому что общие ссылки. Интересно, наверное, у них каким-то своим образом можно так скопировать чтобы передать значение, но разорвать эту ненужную связь?
Одну задачу пытался недавно решить, и пока решал, узнал многое из того, что Иван Викторович рассказывает в этом уроке. Но саму задачу так и не решил. Делюсь - может кому-то ДЗ из этого урока будет мало и захочется мозги размять.
Есть список натуральных чисел от 1 до N (в реальности это группа людей). Надо составить из них пары дежурных, чтобы выполнились 2 условия:
1. После того, как пара отдежурила, они отдыхают до тех пор, пока не отдежурят все остальные.
2. А потом снова составляем пары, но чтобы они не повторялись с прошлыми.
В итоге должен отдежурить каждый с каждым.
P.S.: Вручную решить легко, а вот на Python...
А можно формулировку задачи по конкретнее, что нужно вывести? Что должна принимать программа? Нужно вывести все возможные пары дежурных?
Программа принимает число N. Выводит список всех уникальных пар (неповторяющихся) с соблюдением 2-ух условий:
1) каждый человек должен попадать в дежурство равномерно (т.е. не так, что я отдежурил 2 дня подряд, а потом 2 недели отдыхаю);
2) каждый должен отдежурить с каждым.
Другими словами, надо отсортировать все уникальные пары.
Поконкретнее задачу, к сожалению, сформулировать нельзя. Разве если так: под этими номерами будут реальные люди, и надо, чтобы среди них не возникало недовольств, типа я чаще дежурю, чем он, он больше отдыхает, чем я, и т.п. И должна быть полная ротация при составлении пар, т.е. чтобы пары не повторялись.
И вообще нет гарантии, что существует чёткое математическое решение. Но хотя бы приблизительно равномерность соблюсти желательно.
с помощью каких горячих клавиш вы выделяете слово и ставите квадратные скобки? не понимаю, у меня слово тогда просто заменяется скобками...
16:20 иногда бывает, что даже самое длинное обширное объяснение с терминами понятнее , чем какой-нибудь сложный пример, который, кажется, элементарным тому, кто всё уже просёк, но непонятен новичку. "Раз на раз не приходится" есть такая советская комедия.
Даже не о конкретном курсе, а вообще про все учебные курсы которые я видел.
Иван, спасибо за урок. Вопрос: если на список ссылаются две переменные, то изменяя элемент одной из них - у второй переменной тоже меняется, а у копии нет, это вы наглядно показали. Но если вставить эту же строку (s1 = boys[:]) после строки с изменением (pupils[0] = 1), то и эта копию подвергнется изменению, почему так?
21:31 в си++. Помню, была конкатинация. А тут прям целый набор работы со словами. Всё-таки меня не покидает ощущение, что питон ориентирован именно на текст.
В вашем замечательном курсе хочу порекомендовать почаще закомменчивать то, что вы объяснили минуту назад, а не удалять ( ''' ''' или #).
У учеников после урока останется весь конспект в файле и вообще будет формироваться привычка комментить
Про вложенные списки мало объяснено на примерах. Обязательно надо было объяснить к примеру:
Как из этих списков вывести значение 2 ?
a = ['a', 1, 'cd', ['sd', 12, 2, 'h']]
a = ['a', 1, 'cd', ['sd', 12, [2, 'h']]]
a = [[['a', 1, 'cd', ['sd', 12], 2, 'h']]]]]
Согласитесь, что это разной вложенности списки ...
1)sp = list(input('Enter anything: '))
for i in range(len(sp) + 1):
if i % 2 != 0:
print(i)
2) sp = str.split(input('Enter anything: '))
for i in sp:
i = int(i)
if i % 2 == 0 and i % 5 == 0:
i = i ** 2
print(i)
else:
print('Данное число не подходит под заданные условия')
3) думаю...
10:42 ага, то есть в предыдущем случае были только чётные значения квадратов. А в этом случае будут только квадраты частных чисел - почувствуйте разницу.
Какая же это змеюка гибкая
У меня, кстати, одновременно возник вопрос: а как сделать так, чтобы значения квадратов из предыдущего выражения были ограничены диапазоном от 0 до 100. Где что надо тогда прописать?
❤❤❤❤
у него с каждым уроком борода всё больше отрастает
При установке PyCharm вы говорите, чтобы путь до папки(т.е имя пользователя) был написан только латинскими буквами. При этом не подсказываете как изменить его , если папка указана на кирилице?? как же изменить ?
А можно в генератора использовать if elif else?!
Можно
Только if
Помогите, пожалуйста, я немного не понимаю! Есть такая программа, то есть пользователь сам задает начало, конец и шаг ренджа, и хочу чтоб под номером, например, i = 8 стоял элемент 3. Почему он не понимает эту запись? Выдает тру или фолз.
start = int(input())
end = int(input())
step = int(input())
spisok = [i == 3 if i == 8 else i**2 for i in range(start, end, step)]
print(spisok)
Разобрался, надо просто 3 написать тогда. Думаю, это потому что выходит, что число на этой позиции от номера не зависит
К концу видео совсем запутался. Лучше по учебнику
0:24 действительно, монтипайтон, это какой-то цирк. В данном случае цирк с массивами.
warning! pupils != people
)))
Вашу жену зовут Оля или Соня?)
Нет)
Щас загуглю
Ура! Один вопрос, а зачем он нужон, этот Пайтон? СиШарп - понятно, Плюсы - понятно, Джава - понятно. А это куда?
Егэ
Куда угодно, просто яп для ЕГЭ подходит
@@YBmurt_123 это тоска
@@mrchooseman92 ты кодил на этом пайтоне? Лишний пробел в коде равен ошибке. Искал когда-нибудь невидимый лишний пробел в коде? 🙂
@@dmitriypermyakov5402 как раз таки на нем и делаю ЕГЭ)