• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed porównanie stringów poprzez listę

0 głosów
749 wizyt
pytanie zadane 18 listopada 2019 w Python przez lijke Nowicjusz (170 p.)
zamknięte 18 listopada 2019 przez lijke

Witam, mam problem ponieważ nie potrafię porównać dwóch zmiennych typu string, głowie się i głowie lecz po 6h się poddałem może ktoś mi tutaj pomoże :)

Pozdrawiam,

Na dole kody:

print("Quiz")
pytania = []
with open('pytania.txt', "r+") as plik:
    ctx = plik.readlines()
with open('odpowiedzi.txt', "r+") as plik:
    ctx1 = plik.readlines()
score = 0
i=0
for ctx in ctx:
    print(ctx)
    print("podaj swoją odpowiedź")
    odp =input()
    odpowiedz =ctx1[i]
    print("odp to: ",odp)
    print("odpowiedz to: ",odpowiedz)
    if odpowiedz==odp:
        print("brawo")

pytania.txt

Jaka funkcja wyswietla w pythonie?
Jaka funkcja zapetla ileś reazy?
Kto stowrzył pythona?

odpowiedzi.txt

print
for
Guido van Rossum

 

komentarz zamknięcia: rozwiązany

1 odpowiedź

0 głosów
odpowiedź 18 listopada 2019 przez adrian17 Ekspert (306,980 p.)
wybrane 18 listopada 2019 przez lijke
 
Najlepsza

Jeśli wyprintujesz je w postaci "czytelnej dla programisty", będzie widać co się stało:

    print(repr(odp))
    print(repr(odpowiedz))

Wypisze:

'odpowiedz'
'odpowiedz\n'

Otóż czytanie z użyciem .readlines() zostawia znaki końca linii.

Możesz temu zapobiec używając na przykład .strip() by wyciąć białe znaki:

odpowiedz = ctx1[i].strip()

A taka boczna uwaga: zamiast ręcznie pilnować wartość 'i', możesz użyć enumerate() by mieć ją za darmo:

for i, ctx in enumerate(ctx):
    odpowiedz =ctx1[i].strip()

Albo użyć zip(), przez co w ogóle nie trzeba indeksować:

for pytanie, odpowiedz in zip(ctx, ctx1):
    print(pytanie)
    odp = input()
    if odp == odpowiedz.strip():
        print("brawo")

 

komentarz 18 listopada 2019 przez lijke Nowicjusz (170 p.)
Super dziękuje Ci bardzo!

Aż mi wstyd że zadałem takie pytanie widząc jaka łatwa była odpowiedź :)

Pozdrawiam i wszystkiego najlepszego ! :D

Podobne pytania

0 głosów
2 odpowiedzi 646 wizyt
pytanie zadane 7 stycznia 2019 w C i C++ przez Teslum_369 Gaduła (4,190 p.)
0 głosów
1 odpowiedź 157 wizyt
pytanie zadane 16 stycznia 2020 w C i C++ przez AlpenGod Nowicjusz (170 p.)

86,541 zapytań

135,291 odpowiedzi

300,649 komentarzy

57,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...