Выберите 3 случайных предмета из списка из двух столбцов.Python

Программы на Python
Ответить
Anonymous
 Выберите 3 случайных предмета из списка из двух столбцов.

Сообщение Anonymous »

Для ролевой игры я хочу создать генератор NPC.
Навыки хранятся в CSV-файле с двумя столбцами, например:

Код: Выделить всё

Kraftakt (KO/KK/KK),KTL
Überreden (MU/IN/CH),GTL
Geographie (KL/KL/IN),WTL
где идентификатором является столбец b с GTL, WTL и т. д.
Я использую программу чтения CSV, чтобы помещать данные в такие списки, как:

Код: Выделить всё

def skillset(self, talent_type, talentcount):

Код: Выделить всё

with (open('talente4.csv') as f):
skill_reader = csv.reader(f)
alle_talente = list(skill_reader)

# Arbeitslisten erstellen
selected_list = [] # Preselektion per Talent Kategorie
final_skill_list = [] # Finaler Matsch aus drei Talenten in einem String

# Für jede Zeile in talente.csv weise zu:talentname zu feld 0, talentcategory zu feld 1, talenteigenschaft 0,1,2 zu feld: 2,3 4
for jedes_talent in alle_talente:
talent_name = (jedes_talent[0])
talent_kategorie = (jedes_talent[1])
Сначала я создаю целый список, содержащий все навыки:

Код: Выделить всё

selected_list.append(talent_name)
print (selected_list)
На основе вызываемой функции, например:

Код: Выделить всё

self.npc_talent_ktl_label = npcbuild.skillset("KTL",3)
(функция набора навыков находится в классе, который я назвал npcbuild) Мне нужен уникальный случайный выбор из 3 (

Код: Выделить всё

talentcount
) для Talent_kategorie, как уже упоминалось: KTL, GTL, WTL и т. д.
Я пробовал это, но не понимаю необходимых логических требований для этого:

Код: Выделить всё

if talent_kategorie == "KTL":
print("Gewählt:",talent_type)

i = 0
for i in range(talentcount):
print (talentcount)

zufalls_talent = choice(list(result))
final_skills = (("{}").format(zufalls_talent))
final_skill_list.append(final_skills)
В прозе:
  • прочитайте файл CSV
  • поместите его в список
  • присвойте имя_таланта [0] и категорию_таланта [1]
  • ищите все, что связано с KTL навыки
  • выберите три из них
  • объедините их вместе в новый список под названием Final_skill как один элемент
  • возврат
  • примените его к ярлыку

    Код: Выделить всё

    self.npc_talent_ktl_label = npcbuild.skillset("KTL",3)
    
  • и распечатайте метку на экране pyqt5.
Часть pyqt работает, но мне очень трудно правильно выбрать три случайных навыка для каждой категории.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... olumn-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»