Решение модуля 4.3 Поколение Python: для продвинутых

Ответы и решения урока 4.3(Вложенные списки. Часть 2) на курс «Поколение Python: курс для продвинутых»

Что покажет приведенный ниже фрагмент кода?

list1 = [[1, 2, 3], [4, 5]]
list2 = list1
list1[0].append(7)
print(list2)

[[1, 2, 3, 7], [4, 5]]

Чему будет равно list1[1][1] после выполнения следующего фрагмента кода:

list1 = [[1] * 3] * 3
list1[0][1] = 5

5

Что покажет приведенный ниже фрагмент кода

n = 3
list1 = []
for _ in range(n):
row = input().split()
list1.extend(row)
print(list1)

если на вход программе подаются строки:

9 7 6
2 1
3 4 45 67

['9', '7', '6', '2', '1', '3', '4', '45', '67']

Какой тип данных будет у переменной row?

my_list = [[1], [2, 3], [4, 5, 6]]
total = 0
for row in my_list:
total += sum(row)
print(total)

list

Что покажет приведенный ниже фрагмент кода?

my_list = [[12, 221, 3], [41, 5, 633], [71, 8, 99]]
maximum = my_list[0][0]
minimum = my_list[0][0]
for row in my_list:
maximum = max(row)
minimum = min(row)
print(maximum + minimum)

107

Что покажет приведенный ниже фрагмент кода?

my_list = [[12, 221, 3], [41, 5, 633], [71, 8, 99]]
maximum = my_list[0][0]
minimum = my_list[0][0]
for row in my_list:
if max(row) > maximum:
maximum = max(row)
if min(row) < minimum:
minimum = min(row)

print(maximum + minimum)

636

На вход программе подается число nn. Напишите программу, которая создает и выводит построчно список, состоящий из nn списков 
[[1, 2, ..., n], [1, 2, ..., n], ..., [1, 2, ..., n]].

n = int(input())
matrix = [[j for j in range(1, n + 1)] for i in range(1, n + 1)]
print(*matrix, sep='\n')

На вход программе подается число nn. Напишите программу, которая создает и выводит построчно вложенный список, состоящий из nn списков 
[[1], [1, 2], [1, 2, 3], ..., [1, 2, ..., n]].

n = int(input())
matrix = [[j for j in range(1, i + 1)] for i in range(1, n + 1)]
print(*matrix, sep='\n')

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

Решение модуля 4.3 Поколение Python: для продвинутых

На вход программе подается число nn. Напишите программу, которая возвращает указанную строку треугольника Паскаля в виде списка (нумерация строк начинается с нуля).

n = int(input())
s = []
for i in range(n+1):
    row=[1]*(i+1)
    for j in range(i+1):
        if j!=i and j!=0: row[j] = s[i-1][j-1]+s[i-1][j]
    s.append(row)
print(s[n] if n!=0 else [1])

На вход программе подается натуральное число nn. Напишите программу, которая выводит первые nn строк треугольника Паскаля.

n = int(input())
P=[]
for i in range(0,n):
    row=[1]*(i+1)
    for j in range(i+1):
        if j!=0 and j!=i:
            row[j]=P[i-1][j-1]+P[i-1][j]
    P.append(row)

for r in P:
    print(*r)

На вход программе подается строка текста, содержащая символы. Напишите программу, которая упаковывает последовательности одинаковых символов заданной строки в подсписки.

res = []

for el in input().split():
    if res and el in res[-1]:
        res[-1].append(el)
    else:
        res.append([el])

print(res)

На вход программе подаются две строки, на одной символы, на другой число nn. Из первой строки формируется список.

Реализуйте функцию chunked(), которая принимает на вход список и число, задающее размер чанка (куска), а возвращает список из чанков указанной длины.

def chunked(st, n):
    st = st.split()
    a = [[] for _ in range(0, len(st), n)]
    for i in range(len(a)):
        a[i].extend(st[:n])
        st = st[n:]
    return a

string = input()
num = int(input())

print(chunked(string, num))

Подсписок — часть другого списка. Подсписок может содержать один элемент, несколько, и даже ни одного. Например, [1][2][3] и [4] — подсписки списка [1, 2, 3, 4]. Список [2, 3] — подсписок списка [1, 2, 3, 4], но список [2, 4] не подсписок списка [1, 2, 3, 4], так как элементы 22 и 44 во втором списке не смежные. Пустой список — подсписок любого списка. Сам список — подсписок самого себя, то есть список [1, 2, 3, 4] подсписок списка [1, 2, 3, 4].

На вход программе подается строка текста, содержащая символы. Из данной строки формируется список. Напишите программу, которая выводит список, содержащий все возможные подсписки списка, включая пустой список.

n=input().split()
o=[[]]
k=1
while k!=len(n)+1:
  for j in range(len(n)):
    if len(n[j:j+k])==k:
      o.append(n[j:j+k])
  k+=1
print (o)

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

8 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
liony
liony
6 месяцев назад

Разбиение на чанки 🌶️ На вход программе подаются две строки, на одной символы, на другой число nn. Из первой строки формируется список. Реализуйте функцию chunked(), которая принимает на вход список и число, задающее размер чанка (куска), а возвращает список из чанков указанной длины. Формат входных данных На вход программе подается строка текста, содержащая символы, отделенные символом пробела и число nn на отдельной строке. Формат выходных данных Программа должна вывести указанный вложенный список. Примечание. Не забудьте вызвать функцию chunked(), чтобы вывести результат 😀.

# put your python code here
def chunked(lst, n):
   return [lst[i:i+n] for i in range(0, len(lst), n)]

# считываем строку с символами и строку с числом n
chars = input().split()
n = int(input())

# преобразуем строку с символами в список
lst = list(chars)

# разбиваем список на чанки длины n
result = chunked(lst, n)

# выводим результат
print(result)

liony
liony
6 месяцев назад

Упаковка дубликатов 🌶️ На вход программе подается строка текста, содержащая символы. Напишите программу, которая упаковывает последовательности одинаковых символов заданной строки в подсписки. Формат входных данных На вход программе подается строка текста, содержащая символы, отделенные символом пробела.

s = input().split()

result = []
current = [s[0]]

for i in range(1, len(s)):
   if s[i] == current[0]:
       current.append(s[i])
   else:
       result.append(current)
       current = [s[i]]

result.append(current)
print(result)

liony
liony
7 месяцев назад

s = input().split()

result = []
current = [s[0]]

for i in range(1, len(s)):
   if s[i] == current[0]:
       current.append(s[i])
   else:
       result.append(current)
       current = [s[i]]

result.append(current)
print(result)

liony
liony
7 месяцев назад

n = int(input())

triangle = [[1]]

for i in range(1, n):
   row = [1]
   for j in range(1, i):
       row.append(triangle[i-1][j-1] + triangle[i-1][j])
   row.append(1)
   triangle.append(row)

for row in triangle:
   print(‘ ‘.join(str(num) for num in row))

Светлана
Светлана
1 год назад

можете пожалуйста сделать ответы на 5.1 я не могу решить этот экзамен :cry: :cry: :cry: :cry: :cry:

Артем
Артем
Ответить на  Светлана
1 год назад

зачем лезть в экзамен , если не разобралась в теме? хочешь показать что сдала ? так не работает. учи матчасть

йййй
йййй
Ответить на  Артем
8 месяцев назад

да*н может она хочет узнать как решать ту задачу?

8
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x