Решение модуля 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
1 год назад

Разбиение на чанки ?️ На вход программе подаются две строки, на одной символы, на другой число 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
1 год назад

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

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
1 год назад

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
1 год назад

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))

Светлана
Светлана
2 лет назад

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

Артем
Артем
Ответить на  Светлана
2 лет назад

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

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

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

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