0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 8

Меню, как доработать? (Python)

28.09.2018, 17:37. Показов 626. Ответов 4

Author24 — интернет-сервис помощи студентам
Вот код, не работает программа, не вызывает функции. В чем дело?
Python
1
2
3
4
5
6
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
from random import random
N,M = map(int, input().split())
arr = []
 
def menu():
    print("Menu:")
    print(" 0. Вернуться к меню")
    print(" 1. Заполнение")
    print(" 2. Вывод")
    print(" 3. Количество отрицательных в строке")
    print(" 4. Номер столбца с наименьшей суммой четных")
    print(" 5. Замена строк")
    print(" 6. Отразить относительно строки")
    print(" 7. Отразить относительно столбца")
    access = int(input("Выберите пункт: "))
 
 
    return (access) 
access = menu() 
 
 
 
 
def zapol():
    for i in range(N):    #заполнение
        lst = []
        for j in range(M):
            lst.append(int((random() * 100)-50))
        arr.append(lst)
    menu();
def vyv():
    for i in range(N):    #вывод
        for j in range(M):
            print(" %3d " % arr[i][j], end='')  
        print()
    for i in range(N):
        print(" ----- ", end='')
    print()
    menu();
 
def otr():
    for i in range(N):   #поиск отрицательных в строке
        k=0
        for j in range(M):
            if arr[i][j] <0:
                k=k+1
        print("В строке",i+1,"отрицательных чисел ",k)
    menu();
def summ():
    min_sum = 11111110     #номер столбца с наименьшей суммой четн
    col = 0
    for i in range(M):
        s = 0
        for j in range(N):
            if (arr[j][i]%2)==0:
                s += arr[j][i]
            if s < min_sum:
                min_sum = s
                col = i
    print()
    print("Номер столбца с наименьшей суммой четных: ",col+1)
    print()
    menu();
def zam():
    print('Введите номера строк, которые нужно поменять')
    k1,k2 = map(int, input().split())
    arr[k1-1], arr[k2-1] = arr[k2-1], arr[k1-1]   #замена строк
    print(arr)
    menu();
def zerk():
    print('Отражение массива относительно центральноq строки:')
    
    for i in range(N//2):
 
        for j in range(M):
 
            arr[i][j],arr[N-i-1][j]=arr[N-i-1][j],arr[i][j] 
    for i in range(N): 
        for j in range(M): 
            
            print(str(arr[i][j]).rjust(4), end=' ')
        print()
    menu();
 
 
def zerk2():
    print('Отражение массива относительно центрального столбца:')
    for i in range(N)[::-1]:   
        for j in range(M)[::-1]:
            print(" %3d " % arr[i][j], end='')
        print()
    menu();
    
        
 
if access==1:
    zapol();
if access==0:
    menu()  
if access==2:
    vyv();
if access==6:
    zerk();
if access==7:
    zerk2();
if access==3:
    otr();
if access==4:
    summ();
if access==5:
    zam();
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.09.2018, 17:37
Ответы с готовыми решениями:

While в Python: объясните как доработать код
Необходимо ввести два числа с условием их равности, причем одно число мы задаем, а с помощью второго пытаемся догадаться каким было первое....

Как лучше доработать условие if is not None python?
Всем привет ! Есть такой кусок кода.Который берет данные из БД для парсинга даты. def...

Python как остановить цикл по клику пункта меню?
Всем привет! В универе по лабораторной работе задали следующую задачу: Думаю, здесь с рамкой опечатка, и имелся в виду овал. ...

4
29 / 25 / 9
Регистрация: 26.05.2017
Сообщений: 261
28.09.2018, 22:37
После тестов стало понятно, что
Python
1
N,M = map(int, input().split())
работает вечно. Посмотрите
0
1740 / 912 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
28.09.2018, 22:46
Цитата Сообщение от feodor Посмотреть сообщение
работает вечно
Он ввода ожидает, на кнопки клавиатуры понажимайте
0
29 / 25 / 9
Регистрация: 26.05.2017
Сообщений: 261
29.09.2018, 09:38
Julia29, я ввел 11111 и 22222. Постоянно выскакивала ошибка IndexError: list index out of range, а def zapol() вообще вечно работал(при загрузке цп 100%).
0
165 / 114 / 59
Регистрация: 12.07.2018
Сообщений: 277
29.09.2018, 09:58
Цитата Сообщение от feodor Посмотреть сообщение
def zapol() вообще вечно работал
Это потому, что в строках 30, 39, 48 и т.д. вместо menu() должно быть
Python
1
access = menu()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.09.2018, 09:58
Помогаю со студенческими работами здесь

Curses Python как лучше реализовать навигацию по меню?
Есть окно с выведенными пунктами которые формируются динамически, хочу сделать возможность выбора: ------Меню------ 1. Пункт первый ...

Доработать меню
Дана задача выравнивание отрезков в автокаде, сам код я написал осталось дописать меню, чтобы можно было вводить значения dx и dy с...

Доработать оконное приложение на Python
У меня есть оконное приложение на языке питон. Мне нужно в это приложение добавить вкладки меню, такие как Сведения о разработчике,...

Доработать пункт меню
case 2:{ int i, j,size; char nameInput FILE *f1; ...

AutoLisp: доработать меню
Дана задача выравнивание отрезков в автокаде, сам код я написал осталось дописать меню, чтобы можно было вводить значения dx и dy с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Интеграция Hangfire с RabbitMQ в проектах C#.NET
stackOverflow 18.04.2025
Разработка современных . NET-приложений часто требует выполнения задач "за кулисами". Это может быть отправка email-уведомлений, генерация отчётов, обработка загруженных файлов или синхронизация. . .
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
ArchitectMsa 18.04.2025
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает. . .
Префабы в Unity: Использование, хранение, управление
GameUnited 18.04.2025
Префабы — один из краеугольных элементов разработки игр в Unity, представляющий собой шаблоны объектов, которые можно многократно использовать в различных сценах. Они позволяют создавать составные. . .
RabbitMQ как шина данных в интеграционных решениях на C# (с MassTransit)
stackOverflow 18.04.2025
Современный бизнес опирается на множество специализированных программных систем, каждая из которых заточена под решение конкретных задач. CRM управляет отношениями с клиентами, ERP контролирует. . .
Типы в TypeScript
run.dev 18.04.2025
TypeScript представляет собой мощное расширение JavaScript, которое добавляет статическую типизацию в этот динамический язык. В JavaScript, где переменная может свободно менять тип в процессе. . .
Погружение в Kafka: Концепции и примеры на C# с ASP.NET Core
stackOverflow 18.04.2025
Apache Kafka изменила подход к обработке данных в распределенных системах. Эта платформа потоковой передачи данных выходит далеко за рамки обычной шины сообщений, предлагая мощные возможности,. . .
Коммуникация в реальном времени с SignalR в C# на примере создания чата
UnmanagedCoder 17.04.2025
Современный веб стремительно эволюционирует от статичных страниц к динамичным приложениям, где пользователи ожидают мгновенной реакции на свои действия. Представим, что вы отправляете сообщение. . .
Реализация CQRS с MediatR на C# .NET
stackOverflow 17.04.2025
Современная разработка программного обеспечения постоянно ищет пути повышения эффективности организации кода. Архитектурные паттерны появляются, эволюционируют, и те, что проявляют свою. . .
Verilog и интеллектуальная собственность - "глазами" обученной LM модели.
Hrethgir 17.04.2025
В сети встречаются участники, заявляющие что код на Verilog ни о чём не говорит. Но вот патентная практика на самом деле показывает обратное ими утверждаемому. То-есть код на Verilog включают в. . .
Свап-файл дополнительно к разделу (если вдруг не хватает или не создан)
jigi33 17.04.2025
ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНОГО SWAP ПРОСТРАНСТВА, Т. О. , РАСШИРЕНИЕ ЕГО РАЗМЕРА В Linux можно использовать как раздел подкачки (swap), так и файл подкачки (swap-файл). Чтобы создать swap-файл вместо. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru