J'ai un programme qui est essentiellement un programme d'examen pour les étudiants. Le programme contient deux listes qui contiennent des mots de sens opposés, tous dans le même index de position. Par exemple hot dans list1 et cold dans list2 tous les deux dans l'index 0.Comment vérifier un élément de chaîne stocké dans une variable d'une liste?
J'ai créé une fonction qui permet à la question d'être générée aléatoirement et imprimée pour que l'utilisateur complète. Les réponses sont vérifiées pour s'assurer que la combinaison donnée par l'utilisateur est correcte. J'essaie maintenant de créer une fonction qui assure qu'aucune question dans le programme ne se répète, et je me bats.
J'ai tenté de créer une fonction qui stocke les paires de mots choisies au hasard dans une variable, qui est ensuite ajoutée dans une liste. Après chaque question, la fonction est supposée vérifier la variable dans la liste, et si la variable est présente, la variable appelle la fonction qui recrée une nouvelle paire. Cela continue jusqu'à ce que les questions soient toutes terminées et qu'il n'y ait pas de doublons. Le programme stocke correctement les variables dans la liste (j'ai vérifié en imprimant la liste) mais quand il y a un doublon, la fonction de générateur de paire ne fonctionne pas, et les doubles sont faits dans les questions.
Le code de la fonction que j'essaie de créer est ci-dessous, ainsi que pour le générateur de paires aléatoires et la liste. Toutes les idées, j'ai besoin d'aide à ce sujet dès que possible.
Fonction A:
def randcheck():
global dcheck4
dcheck = opposite1[decider]
dcheck2 = opposite2[decider]
dcheck3 = opposite1[decider2]
dcheck4 = opposite2[decider2]
dchecklist.append(dcheck)
dchecklist.append(dcheck2)
dchecklist.append(dcheck3)
dchecklist.append(dcheck4)
print(dchecklist)
while dcheck in dchecklist:
deciders()
while dcheck2 in dchecklist:
deciders()
while dcheck3 in dchecklist:
deciders()
while dcheck4 in dchecklist:
deciders()
Fonction B:
def deciders():
global countdown
countdown = len(opposite1) - 1
global decider
decider = random.randint(0,countdown)
global decider2
decider2 = random.randint(0,countdown)
Note: La fonction décideurs vient avant l'autre fonction dans le prorgam, et la liste est ci-dessous:
global opposite1
opposite1 = ["hot", "summer", "hard", "dry", "heavy", "bright", "weak", "male", "sad", "win", "small", "ignore", "buy", "succeed", "reject", "prevent", "exclude"]
global opposite2
opposite2 = ["cold", "winter", "soft", "wet", "light", "dark", "strong", "female", "happy", "lose", "big", "pay attention", "sell", "fail", "accept", "allow", "include"]
Des idées?
veuillez fournir des informations plus claires. Lisez [this] (http://stackoverflow.com/help/mcve) – Pynchia