Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 26.10.2022
Сообщений: 8

Программа которая при вводе 5-ти переменных будет выдавать результат в виде списка

26.10.2022, 19:02. Показов 1485. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Такой вопрос. Хочу написать программу которая при вводе 5-ти переменных будет выдавать результат в виде списка. Значение переменных будет не рандомное, потенциальные данные переменных сохранены как списки.
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
a = str(input("Введите противника 1"))
b = str(input("Введите противника 2"))
c = str(input("Введите противника 3"))
d = str(input("Введите противника 4"))
e = str(input("Введите противника 5"))
 
Abaddon = ['Outworld Devourer', 'Slark', 'Viper', 'Broodmother', 'Meepo', 'Lycan', 'Earth Spirit', 'Beastmaster', 'Anti-Mage', 'Alchemist', 'Riki', 'Lone Druid', 'Drow Ranger', 'Lina']
Alchemist = ['Brewmaster', 'Huskar', 'Terrorblade', 'Slark', 'Clinkz', 'Outworld Devourer', 'Lifestealer', 'Slardar', 'Phantom Assassin', 'Shadow Fiend', 'Troll Warlord', 'Necrophos', 'Ursa', 'Luna']
Ancient_Apparition = ['Naga Siren', 'Void Spirit', 'Phantom Lancer', 'Clinkz', 'Broodmother', 'Anti-Mage', 'Earth Spirit', 'Beastmaster', 'Storm Spirit', 'Arc Warden', 'Phantom Assassin']
Anti_Mage = ['Meepo', 'Slardar', 'Legion Commander', 'Huskar', 'Drow Ranger', 'Templar Assassin', 'Troll Warlord', 'Riki', 'Phantom Assassin', 'Bloodseeker', 'Ursa', 'Lone Druid', 'Terrorblade']
Arc_Warden = ['Naga Siren', 'Broodmother', 'Lycan', 'Phantom Lancer', 'Brewmaster', 'Lone Druid', 'Meepo', 'Beastmaster', 'Anti-Mage', 'Storm Spirit', 'Spectre', 'Death Prophet']
 
def abaddon():
    if (a == 'Abaddon', 'Абадон', 'абадон', 'Абаддон', 'абаддон'):
        print(Abaddon)
 
    elif (b == 'Abaddon', 'Абадон', 'абадон', 'Абаддон', 'абаддон'):
        print(Abaddon)
 
    elif (c == 'Abaddon', 'Абадон', 'абадон', 'Абаддон', 'абаддон'):
        print(Abaddon)
 
    elif (d == 'Abaddon', 'Абадон', 'абадон', 'Абаддон', 'абаддон'):
        print(Abaddon)
 
    elif (e == 'Abaddon', 'Абадон', 'абадон', 'Абаддон', 'абаддон'):
        print(Abaddon)
 
def alchemist():
    if (a == 'Alchemist', 'Алхимик', 'алхимик'):
        print(Alchemist)
 
    elif (b == 'Alchemist', 'Алхимик', 'алхимик'):
        print(Alchemistn)
 
    elif (c == 'Alchemist', 'Алхимик', 'алхимик'):
        print(Alchemist)
 
    elif (d == 'Alchemist', 'Алхимик', 'алхимик'):
        print(Alchemist)
 
    elif (e == 'Alchemist', 'Алхимик', 'алхимик'):
        print(Alchemist)
    else:
        print('Ошибка ввода')
 
def ancient_apparition():
    if (a == 'Ancient Apparition', 'Аппарат', 'Апарат', 'аппарат', 'апарат'):
        print(Ancient_Apparition)
 
    elif (b == 'Ancient Apparition', 'Аппарат', 'Апарат', 'аппарат', 'апарат'):
        print(Ancient_Apparition)
 
    elif (c == 'Ancient Apparition', 'Аппарат', 'Апарат', 'аппарат', 'апарат'):
        print(Ancient_Apparition)
 
    elif (d == 'Ancient Apparition', 'Аппарат', 'Апарат', 'аппарат', 'апарат'):
        print(Ancient_Apparition)
 
    elif (e == 'Ancient Apparition', 'Аппарат', 'Апарат', 'аппарат', 'апарат'):
        print(Ancient_Apparition)
    else:
        print('Ошибка ввода')
 
def anti_mage():
    if (a == 'Anti Mage', 'Anti-Mage', 'Анти-Маг', 'анти маг', 'анти-маг', 'Анти Маг'):
        print(Anti_Mage)
 
    elif (b == 'Anti Mage', 'Anti-Mage', 'Анти-Маг', 'анти маг', 'анти-маг', 'Анти Маг'):
        print(Anti_Mage)
 
    elif (c == 'Anti Mage', 'Anti-Mage', 'Анти-Маг', 'анти маг', 'анти-маг', 'Анти Маг'):
        print(Anti_Mage)
 
    elif (d == 'Anti Mage', 'Anti-Mage', 'Анти-Маг', 'анти маг', 'анти-маг', 'Анти Маг'):
        print(Anti_Mage)
 
    elif (e == 'Anti Mage', 'Anti-Mage', 'Анти-Маг', 'анти маг', 'анти-маг', 'Анти Маг'):
        print(Anti_Mage)
    else:
        print('Ошибка ввода')
 
def arc_warden():
    if (a == 'Arc Warden', 'Arc-Warden', 'Арк-Варден', 'арк-варден', 'Арк Варден', 'арк варден'):
        print(Arc_Warden)
 
    elif (b == 'Arc Warden', 'Arc-Warden', 'Арк-Варден', 'арк-варден', 'Арк Варден', 'арк варден'):
        print(Arc_Warden)
 
    elif (c == 'Arc Warden', 'Arc-Warden', 'Арк-Варден', 'арк-варден', 'Арк Варден', 'арк варден'):
        print(Arc_Warden)
 
    elif (d == 'Arc Warden', 'Arc-Warden', 'Арк-Варден', 'арк-варден', 'Арк Варден', 'арк варден'):
        print(Arc_Warden)
 
    elif (e == 'Arc Warden', 'Arc-Warden', 'Арк-Варден', 'арк-варден', 'Арк Варден', 'арк варден'):
        print(Arc_Warden)
    else:
        print('Ошибка ввода')
 
 
abaddon()
 
alchemist()
 
ancient_apparition()
 
anti_mage()
 
arc_warden()
как теперь вывести результат общим списком. Так же есть проблема тупо вывода всех списков на экран, вне зависимости от воода переменных. Заранее спасибо за помощь. Строго за говнокод не судите, я только учусь)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.10.2022, 19:02
Ответы с готовыми решениями:

При вводе цифр и букв вместе, программа должна выдавать ошибку
Проблема в следующем... Мне нужно, чтобы программа выдавала ошибку, если я введу что-то подобное 85dfqo. А она считывает 85, а вот эти вещи...

Разработать программу, которая будет как "магический шар" выдавать случайный результат.
Разработать программу, которая будет как "магически" шар выдавать случайный результат. К примеру, вы ей задаете вопрос: "..... . .....

Написать программу,которая при вводу цифры от 1-4 будет выдавать месяца
написать программу,которая по вводу времени года (1-зима 2-весна 3-лето 4- осень) выводила на экран название месяцев относительно времени...

7
 Аватар для Semen-Semenich
5234 / 3479 / 1175
Регистрация: 21.03.2016
Сообщений: 8,306
26.10.2022, 19:16
Цитата Сообщение от Roman_1234 Посмотреть сообщение
Хочу написать программу которая при вводе 5-ти переменных будет выдавать результат в виде списка
очевидно Кэп! сохранять их в список! в основном ничего не понятно куча условий для проверки 4х переменных
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.10.2022, 19:29
Три раза просмотрел это произведение, и так и не понял чего хотел добиться ТС

Добавлено через 41 секунду
Цитата Сообщение от Roman_1234 Посмотреть сообщение
Строго за говнокод не судите, я только учусь)
Если строго не засудим, ничему не научишься
0
0 / 0 / 0
Регистрация: 26.10.2022
Сообщений: 8
26.10.2022, 19:38  [ТС]
может тогда подскажешь как оптимизировать код?

Добавлено через 2 минуты
хочу добиться следующего. в доте есть понятие контр пик. у каждого персонажа есть одного или несколько котр персонажей. моя программа будет работать следующим образом:
1. вводим одного или нескольких противников
2. их имена это переменные которые содержат в себе список имен одного или несколько котр персонажей
3. результатом программы должен быть единый список оптимальных персонажей (не повторяющихся)
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
26.10.2022, 19:39
Если только твое сократить немного.
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
enemy = []
for i in range(1, 6):
    enemy.append(input(f"Введите противника {i}: "))
 
Abaddon = ['Outworld Devourer', 'Slark', 'Viper', 'Broodmother', 'Meepo', 'Lycan', 'Earth Spirit', 'Beastmaster',
           'Anti-Mage', 'Alchemist', 'Riki', 'Lone Druid', 'Drow Ranger', 'Lina']
Alchemist = ['Brewmaster', 'Huskar', 'Terrorblade', 'Slark', 'Clinkz', 'Outworld Devourer', 'Lifestealer', 'Slardar',
             'Phantom Assassin', 'Shadow Fiend', 'Troll Warlord', 'Necrophos', 'Ursa', 'Luna']
Ancient_Apparition = ['Naga Siren', 'Void Spirit', 'Phantom Lancer', 'Clinkz', 'Broodmother', 'Anti-Mage',
                      'Earth Spirit', 'Beastmaster', 'Storm Spirit', 'Arc Warden', 'Phantom Assassin']
Anti_Mage = ['Meepo', 'Slardar', 'Legion Commander', 'Huskar', 'Drow Ranger', 'Templar Assassin', 'Troll Warlord',
             'Riki', 'Phantom Assassin', 'Bloodseeker', 'Ursa', 'Lone Druid', 'Terrorblade']
Arc_Warden = ['Naga Siren', 'Broodmother', 'Lycan', 'Phantom Lancer', 'Brewmaster', 'Lone Druid', 'Meepo',
              'Beastmaster', 'Anti-Mage', 'Storm Spirit', 'Spectre', 'Death Prophet']
 
 
def abaddon():
    if any(x.lower() in ('abaddon', 'абадон', 'абаддон') for x in enemy):
        print('Abaddon')
    else:
        print('Ошибка ввода')
 
 
def alchemist():
    if any(x.lower() in ('alchemist', 'алхимик') for x in enemy):
        print('Alchemist')
    else:
        print('Ошибка ввода')
 
 
def ancient_apparition():
    if any(x.lower() in ('ancient apparition', 'аппарат', 'апарат', 'аппарат') for x in enemy):
        print('Ancient_Apparition')
    else:
        print('Ошибка ввода')
 
 
def anti_mage():
    if any(x.lower() in ('anti mage', 'anti-mage', 'анти-маг', 'анти маг') for x in enemy):
        print('Anti_Mage')
    else:
        print('Ошибка ввода')
 
 
def arc_warden():
    if any(x.lower() in ('arc warden', 'arc-warden', 'арк-варден', 'арк варден') for x in enemy):
        print('Arc_Warden')
    else:
        print('Ошибка ввода')
 
 
abaddon()
 
alchemist()
 
ancient_apparition()
 
anti_mage()
 
arc_warden()
1
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
26.10.2022, 19:46
Я б что-то типа сделал
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
from random import randint
 
enemy = [input(f"Введите противника {i}") for i in range(1, 6)]
 
Abaddon = ['Outworld Devourer', 'Slark', 'Viper', 'Broodmother', 'Meepo', 'Lycan', 'Earth Spirit', 'Beastmaster',
           'Anti-Mage', 'Alchemist', 'Riki', 'Lone Druid', 'Drow Ranger', 'Lina']
Alchemist = ['Brewmaster', 'Huskar', 'Terrorblade', 'Slark', 'Clinkz', 'Outworld Devourer', 'Lifestealer', 'Slardar',
             'Phantom Assassin', 'Shadow Fiend', 'Troll Warlord', 'Necrophos', 'Ursa', 'Luna']
Ancient_Apparition = ['Naga Siren', 'Void Spirit', 'Phantom Lancer', 'Clinkz', 'Broodmother', 'Anti-Mage',
                      'Earth Spirit', 'Beastmaster', 'Storm Spirit', 'Arc Warden', 'Phantom Assassin']
Anti_Mage = ['Meepo', 'Slardar', 'Legion Commander', 'Huskar', 'Drow Ranger', 'Templar Assassin', 'Troll Warlord',
             'Riki', 'Phantom Assassin', 'Bloodseeker', 'Ursa', 'Lone Druid', 'Terrorblade']
Arc_Warden = ['Naga Siren', 'Broodmother', 'Lycan', 'Phantom Lancer', 'Brewmaster', 'Lone Druid', 'Meepo',
              'Beastmaster', 'Anti-Mage', 'Storm Spirit', 'Spectre', 'Death Prophet']
 
for i, e in enumerate(enemy):
    get_from = None
    if e in ['Abaddon', 'Абадон', 'абадон', 'Абаддон', 'абаддон']:
        get_from = Abaddon
    elif e in ['Alchemist', 'Алхимик', 'алхимик']:
        get_from = Alchemist
    elif e in ['Ancient Apparition', 'Аппарат', 'Апарат', 'аппарат', 'апарат']:
        get_from = Ancient_Apparition
    elif e in ['Anti Mage', 'Anti-Mage', 'Анти-Маг', 'анти маг', 'анти-маг', 'Анти Маг']:
        get_from = Anti_Mage
    elif e in ['Arc Warden', 'Arc-Warden', 'Арк-Варден', 'арк-варден', 'Арк Варден', 'арк варден']:
        get_from = Arc_Warden
    if get_from:
        print(f'{i + 1}. {get_from[randint(0, len(get_from))]}"')
    else:
        print('Ошибка ввода')
Добавлено через 52 секунды
А еще лучше словарь прикрутить
0
0 / 0 / 0
Регистрация: 26.10.2022
Сообщений: 8
04.11.2022, 16:03  [ТС]
я доработал код не без твоей помощи. Вот держи решение, вдруг пригодится

a = str(input("Введите противника 1"))
b = str(input("Введите противника 2"))
c = str(input("Введите противника 3"))
d = str(input("Введите противника 4"))
e = str(input("Введите противника 5"))

spisok = []

Abaddon = ['Outworld Devourer', 'Slark', 'Viper', 'Broodmother', 'Meepo', 'Lycan', 'Earth Spirit', 'Beastmaster', 'Anti-Mage', 'Alchemist', 'Riki', 'Lone Druid', 'Drow Ranger', 'Lina']
Alchemist = ['Brewmaster', 'Huskar', 'Terrorblade', 'Slark', 'Clinkz', 'Outworld Devourer', 'Lifestealer', 'Slardar', 'Phantom Assassin', 'Shadow Fiend', 'Troll Warlord', 'Necrophos', 'Ursa', 'Luna']
Ancient_Apparition = ['Naga Siren', 'Void Spirit', 'Phantom Lancer', 'Clinkz', 'Broodmother', 'Anti-Mage', 'Earth Spirit', 'Beastmaster', 'Storm Spirit', 'Arc Warden, Phantom Assassin']
Anti_Mage = ['Meepo', 'Slardar', 'Legion Commander', 'Huskar', 'Drow Ranger', 'Templar Assassin', 'Troll Warlord', 'Riki', 'Phantom Assassin', 'Bloodseeker', 'Ursa', 'Lone Druid', 'Terrorblade']
Arc_Warden = ['Naga Siren', 'Broodmother', 'Lycan', 'Phantom Lancer', 'Brewmaster', 'Lone Druid', 'Meepo', 'Beastmaster', 'Anti-Mage', 'Storm Spirit', 'Spectre', 'Death Prophet']
Axe = ['Timbersaw', 'Viper', 'Gyrocopter', 'Spectre', 'Ursa', 'Wraith King', 'Necrophos', 'Ember Spirit', 'Zeus', 'Tiny', 'Silencer', 'Leshrac', 'Kunkka', 'Razor', 'Doom', 'Death Prophet', 'Night Stalker']
Bane = ['Terrorblade', 'Phantom Lancer', 'Naga Siren', 'Arc Warden', 'Meepo', 'Lone Druid', 'Beastmaster', 'Spectre', 'Spirit Breaker', 'Earth Spirit', 'Death Prophet', 'Queen of Pain', 'Wraith King']
Batrider = ['Phantom Lancer', 'Spectre', 'Queen of Pain', 'Arc Warden', 'Naga Siren', 'Storm Spirit', 'Anti-Mage', 'Death Prophet', 'Spirit Breaker', 'Silencer', 'Medusa', 'Razor', 'Necrophos']
Beastmaster = ['Phantom Lancer', 'Spectre', 'Puck', 'Naga Siren', 'Medusa', 'Terrorblade', 'Sven', 'Leshrac', 'Sniper', 'Lone Druid', 'Phantom Assassin', 'Morphling', 'Riki', 'Ember Spirit', 'Kunkka']


def enemys():
if any(x.lower() in ('abaddon', 'абадон', 'абаддон') for x in (a,b,c,d,e)):
spisok.extend(Abaddon)

if any(x.lower() in ('alchemist', 'алхимик') for x in (a,b,c,d,e)):
spisok.extend(Alchemist)

if any(x.lower() in ('ancient apparition', 'аппарат', 'апарат', 'аппарат') for x in (a,b,c,d,e)):
spisok.extend(Ancient_Apparition)

if any(x.lower() in ('anti mage', 'anti-mage', 'анти-маг', 'анти маг') for x in (a,b,c,d,e)):
spisok.extend(Anti_Mage)

if any(x.lower() in ('arc warden', 'arc-warden', 'арк-варден', 'арк варден') for x in (a,b,c,d,e)):
spisok.extend(Arc_Warden)

if any(x.lower() in ('axe','акс') for x in (a,b,c,d,e)):
spisok.extend(Axe)

if any(x.lower() in ('bane','бейн','бэйн',) for x in (a,b,c,d,e)):
spisok.extend(Bane)

if any(x.lower() in ('batrider','батрайдер','батрайдэр',) for x in (a,b,c,d,e)):
spisok.extend(Batrider)

if any(x.lower() in ('beastmaster','беастмастер','бистмастер ',) for x in (a,b,c,d,e)):
spisok.extend(Beastmaster)

enemys()

spisok1 = list(set(spisok))
print(str('\n'.join(spisok1)))


print('Для завершения нажмите Enter')
x = input()
0
2431 / 1474 / 633
Регистрация: 01.11.2021
Сообщений: 2,269
04.11.2022, 19:51
Лучший ответ Сообщение было отмечено Roman_1234 как решение

Решение

Roman_1234, все фигня, давай по новой.
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.11.2022, 19:51
Помогаю со студенческими работами здесь

Нужна программа, которая будет считывать при наведении камеры двоичный код и представлять его в виде числа
Нужна программа, которая будет считывать при наведении камеры двоичный код и представлять его в виде числа . К примеру 100 это 4 . Это...

Создать опросник, который будет выдавать результат по выбранным ответам
Здравствуйте! Необходимо создать тест основанный на дереве решений. В результате выводить то, к чему человек пришел по своим ответам. И...

При вводе букв (переменных)глючит программа,а должно выбивать ошибку
Программа высчитывает определённую функцию (при вводе переменных стоят ограничения). Извините, в программировании не сильна. Это скорее...

При вводе определенных переменных программа должна возвращать пользователя обратно к первому шагу
Здравствуйте. Хочу сделать так, чтобы при вводе любых чисел кроме 1 и 2, программа выдавала сообщение об ошибке и не закрывалась (так как...

Программа, которая представляет десятичное число в виде списка
Надо написать программу, которая представляет десятичное число в виде списка и надо определить функцию для сложения 2 десятичных чисел!!! 2...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru