Användarvisningsbild
HWMNBN
Inlägg: 165
Blev medlem: 15 okt 2014, 18:33

Python nybörjarfråga

10 nov 2016, 16:27

Tjena!

Pillar lite med python och försöker förstå mig på varför min kod inte fungerar.
Letade lite bland stackoverflow men är inte bara ute efter en lösning utan även anledningen.

Kod: Markera allt

f = open("true.txt", "r")
sum = 0;
for words in f:
   if words == "hello":
      sum = sum+1
f.close()
print("There are", sum, "matches")


Jag är inte alls med på varför sum fortfarande är noll, vad i denna kod är galet?

Användarvisningsbild
Chloë
Administratör
Inlägg: 2505
Blev medlem: 08 okt 2014, 02:28
Områden: Webbsäkerhet
Kontakt: Twitter

Re: Python nybörjarfråga

10 nov 2016, 16:42

Du får strippa variabeln words. detta är för när den läser filen så läser den även randbrytningen och som default så tar strip() bort radbrytningen.

The method strip() returns a copy of the string in which all chars have been stripped from the beginning and the end of the string (default whitespace characters).

https://www.tutorialspoint.com/python/string_strip.htm

Kod: Markera allt

f = open("true.txt", "r")
sum = 0;
for words in f:
   if words.strip() == "hello":
      sum = sum+1
f.close()
print("There are", sum, "matches")


# cat true.txt ; python ./a.py
assd
ad
hello
df
hello

('There are', 2, 'matches')
keybase.io/dotchloe | chloe.re | chloe.website

Användarvisningsbild
HWMNBN
Inlägg: 165
Blev medlem: 15 okt 2014, 18:33

Re: Python nybörjarfråga

10 nov 2016, 16:54

Chloë skrev:Du får strippa variabeln words. detta är för när den läser filen så läser den även randbrytningen och som default så tar strip() bort radbrytningen.


https://www.tutorialspoint.com/python/string_strip.htm

Kod: Markera allt

f = open("true.txt", "r")
sum = 0;
for words in f:
   if words.strip() == "hello":
      sum = sum+1
f.close()
print("There are", sum, "matches")


Ahh, då var det inte så tokigt i min kod, visste inte om den funktionen, mycket uppskattat chloe, detta löste mitt problem! o:)
Och tack för förklaringen också!

Drcerva
Inlägg: 10
Blev medlem: 02 aug 2017, 12:14

Re: Python nybörjarfråga

02 aug 2017, 12:39

Ahh, då var det inte så tokigt i min kod, visste inte om den funktionen, mycket uppskattat chloe, detta löste mitt problem! o:)
Och tack för förklaringen också!
Skulle inte du lämna Swehack, eller är du tillbaka? =)