Problem z listami

0

Cześć wszystkim,
uczę się Pythona i próbuje sobie coś tam eksperymentować. Trafiłem jednak na przeszkodę, będę ogromnie wdzięczny jeśli ktoś mi pomoże lub powie, ze to co próbuje stworzyć jest bezsensu.
Chciałbym, żeby program oddawał mi zawsze po wpisaniu "ola" - " man" .
W tym kodzie próbuje z modułem random i dostaje randomowe odpowiedzi.

import random 
random.seed()
slowa=["ola","lisek","stopa"]
odpowiedzi = ["man","dsa", "brudna"]
while True:
    x  = input("Podaj dowolny wyraz: ")
    x  = x.lower()
    sindex = random.randint(0,len(slowa)-1)
    if x in slowa:
       print(odpowiedzi[sindex])
    elif x.isdigit():
        print("Podaj wyraz")
    else:
        print("Nie jestem słównikiem!")
        
1
import random

slow = {"ola": "man", "lisek": "dsa", "stopa": "brudna"}
pyt, odp = random.choice(list(slow.items()))
print(pyt, odp)
2

Chciałbym, żeby program oddawał mi zawsze po wpisaniu "ola" - " man" .
W tym kodzie próbuje z modułem random i dostaje randomowe odpowiedzi.

Skoro chcesz by program w tej wersji wypisywał konkretną odpowiedź, to nie bardzo tu widzę zastosowanie dla random. A jak używasz random, to się nie dziw, że odpowiada losowo.
Jeśli koniecznie musi być na listach i są one w takim stanie jak w pierwszym poście - wpisujesz słowo, sprawdzasz jego indeks, wypisujesz z drugiej listy słowo o tej samej pozycji.
Nie jestem też pewien czy ta pętla tam potrzebna, bo nie mogę dociec jak ją zakończyć.

2
slowa=["ola","lisek","stopa"]
odpowiedzi = ["man","dsa", "brudna"]
while True:
	x  = input("Podaj dowolny wyraz: ")
	x  = x.lower()
	
	try:
		sindex = slowa.index(x)
	except:
		if x.isdigit():
			print("Podaj wyraz")
		elif x == "":
			print("koniec")
			break
		else:
			print("Nie jestem slownikiem!")
			
		continue
		
	print(odpowiedzi[sindex])

Po co Ci randomowe odpowiedzi, skoro chcesz dla konkretnego pytania dostać konkretną odpowiedź?

1
Spine napisał(a):
slowa=["ola","lisek","stopa"]
odpowiedzi = ["man","dsa", "brudna"]
while True:
	x  = input("Podaj dowolny wyraz: ")
	x  = x.lower()
	
	try:
		sindex = slowa.index(x)
	except:
		if x.isdigit():
			print("Podaj wyraz")
		elif x == "":
			print("koniec")
			break
		else:
			print("Nie jestem slownikiem!")
			
		continue
		
	print(odpowiedzi[sindex])

Po co Ci randomowe odpowiedzi, skoro chcesz dla konkretnego pytania dostać konkretną odpowiedź?

To jest to o czym marzyłem :D Dzięki wielkie wszystkim za pomoc. Mój błąd, że wstawiłem tu kod z random, (wiem jak ten moduł działa) jednak chciałem jakiś zarys mojego pomysłu tym uwidocznić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1