0
votes

Comment obtenir un mot spécifique d'un tableau?

J'ai créé un programme qui ouvre un fichier texte et lisez son contenu. Mon objectif est de trier une valeur aléatoire de la ligne du mot demandant à l'utilisateur. Mon fichier texte est formaté de cette façon. xxx pré>

et avec mon code, je stocke toutes les données de cette manière p> xxx pré>

mais mon problème est que je demande que je demande le Utilisateur en entrée Combien de catégories à partir du fichier qu'il souhaite, donc après cela, je stocke la saisie de l'utilisateur dans une liste. Après cela, je souhaite vérifier le fichier dans lequel ses mots doivent être capables de trier un mot aléatoire de cette chaîne spécifique. Et je ne sais pas comment faire le "chèque où le mot est" dans le fichier formaté comme je l'ai dit précédemment, il cherche un mot dans une liste dans une autre liste. P>

Par exemple, si en entrée, il demande 3 valeurs, disons nom, siècle, puissance code>, le programme triera comme valeur aléatoire yomi, 5, saleté . P>

Voici le code que j'ai fait pour le moment. P>

import sys 
import time

def read_file():
    data = []

    if len(sys.argv) != 2:
        print("Error on the input of argument.")
        print("Missing the txt file.")
        sys.exit(1)
    with open(sys.argv[1], "r") as f:
        lines = f.readlines()
        for line in lines:
            data.append(line.split(";"))
    return(data)

def ask_input():
    loop = input("How many random data you want ?\n")
    loop = int(loop)
    stock = []

    for i in range(loop):
        ask = input("What category do you want ?\n")
        stock.append(ask)
        i += 1
    return(stock)

def usage():
    print("Hi and welcome on my random generator.")
    print("Then you will have to enter the amount of data you want.")
    print("You will have to enter your data one by one until you reach the number asked before.\n")
    time.sleep(3)
    print("Would you like to start")
    should_continue = input("'Yes' or 'No' ?\n")
    if "Yes" in should_continue:
        ask_input()
    if "No" in should_continue:
        print("Ok hope you enjoyed, goodbye !\n")
        sys.exit(1)

if __name__ == "__main__":
    read_file()


0 commentaires

3 Réponses :


1
votes

Je me sens comme si votre travail serait beaucoup plus facile si votre fichier de données / texte était au formulaire JSON. Vous auriez alors des clés et des données liées à ces clés.

Par exemple, vous pouvez demander à l'utilisateur: P>

data[ask]


0 commentaires

0
votes

Ce serait une bonne solution pour vous?

Ce serait un peu plus accessible car vous obtenez une dicte de listes. Vous pouvez voir la sortie de votre exemple en bas. J'ai dépouillé le; et nouvelle ligne mais ce ne serait pas un problème de les garder. xxx


0 commentaires

2
votes

Droits Correira sur ce point: Votre structure de données n'est pas exacte. Un dictionnaire semble mieux: xxx

donnant ceci: xxx


0 commentaires