
Другие языки программирования и технологии
Pycharm (Пожалуйста, помогите с написанием программы)
На завтра по информатике дали задание из сборника (фотографию прикреплю). Ранее изучали другую программу, а со второй четверть перешли на пачарм, иной раз вызывает трудности. Поэтому, пожалуйста! Помогите с написанием. В интерне много видел решений, но те были на других языках написаны...(

Помимо ввода и вывода, один проход по списку, без всяких удалений, изобретений велосипедов форматирования и прочих избыточных операций, которые так любят нейросети:
from itertools import starmap, zip_longest as zipl
from random import randint
def fmt(seq):
return '\n'.join(map(''.join, zipl(*(map('%7d'.__mod__, seq),) * 8, fillvalue = '')))
def minmax(seq, key):
mn = mx = next(seq)
*_, _ = ((mn := min(mn, i, key=key), mx := max(mx, i, key=key)) for i in seq)
return (mn, mx)
lst = list(starmap(randint, ((-10000, 10000),) * int(input('Длина массива: '))))
print(fmt(iter(lst)))
mn, mx = minmax(iter(range(len(lst))), lst.__getitem__)
lst[mn], lst[mx] = lst[mx], lst[mn]
print(fmt(iter(lst)))
Список заполняется рандомом и выводится до и после обмена по 8 элементов на строке с 7-ю позициями под каждый элемент.lenght = int(input('Введите длину массива: '))
print('Введите массив:')
l = list()
for i in range(lenght): #Вводим массив (каждый элемент с новой строки)
l.append(int(input()))
mx, mn = l.index(max(l)), l.index(min(l)) #Индексы макс и мин элементов
temp = l[mx] #Меняем
l[mx] = l[mn] #элементы
l[mn] = temp #местами
print('Массив с переставленными элементами:')
while(l):
for i in range(min(len(l), 8)): #Выводим строку из 8-ми элементов
s = str(l[i])
while len(s) < 7: #Пока длина числа < 7
s = ' ' + s #Добавляем пробелы
print(s, end = ' ')
print()
l = l[8:] #Удаляем из массива выведенные элементы
print('Введите массив:')
l = list()
for i in range(lenght): #Вводим массив (каждый элемент с новой строки)
l.append(int(input()))
mx, mn = l.index(max(l)), l.index(min(l)) #Индексы макс и мин элементов
temp = l[mx] #Меняем
l[mx] = l[mn] #элементы
l[mn] = temp #местами
print('Массив с переставленными элементами:')
while(l):
for i in range(min(len(l), 8)): #Выводим строку из 8-ми элементов
s = str(l[i])
while len(s) < 7: #Пока длина числа < 7
s = ' ' + s #Добавляем пробелы
print(s, end = ' ')
print()
l = l[8:] #Удаляем из массива выведенные элементы
*** Иван ***
Говнокод, с четырьмя итерациями по массиву, не считая ввода-вывода, когда достаточно одной.
Фанис Гиниятуллин
Все отступы по удалялись(

Похожие вопросы
- Пожалуйста помогите в написании программы на С++
- Помогите в написании программы.
- Помогите с написание программы СИ (С комментариями пожалуйста )
- помогите с написанием программ на паскале
- Помогите с написанием программы C++
- Помогите с написанием программы на языке Ассемблер, алгоритм знаю, вот только команды самого языка - не очень.
- Помогите с написанием программы
- помогите с написание программы плиз:
- Помогите в написании программы на С++
- Помогите в написании программы на языке с++