Skip to content

Instantly share code, notes, and snippets.

@tombrad
Last active March 14, 2024 15:50
Show Gist options
  • Save tombrad/4697060 to your computer and use it in GitHub Desktop.
Save tombrad/4697060 to your computer and use it in GitHub Desktop.
8.4 Open the file romeo.txt and read it line by line. For each line, split the line into a list of words using the split() function. The program should build a list of words. For each word on each line check to see if the word is already in the list and if not append it to the list. When the program completes, sort and print the resulting words …
fname = raw_input("Enter file name: ")
fh = open(fname)
lst = list() # list for the desired output
for line in fh: # to read every line of file romeo.txt
word= line.rstrip().split() # to eliminate the unwanted blanks and turn the line into a list of words
for element in word: # check every element in word
if element in lst: # if element is repeated
continue # do nothing
else : # else if element is not in the list
lst.append(element) # append
lst.sort() # sort the list (de-indent indicates that you sort when the loop ends)
print lst # print the list
@deleonab
Copy link

I have a question, I am really new to codding instead of opening file I just have used the text as variable, everything is working but it is not sorting itself, please help

fname = '''But soft what light through yonder window breaks It is the east and Juliet is the sun Arise fair sun and kill the envious moon Who is already sick and pale with grief''' fname = fname.split() lst = list(fname) fname = fname.sort() print(lst)

This will sort it. But remember that upper case will sort before lowercase.

fname = '''But soft what light through yonder window breaks
It is the east and Juliet is the sun
Arise fair sun and kill the envious moon
Who is already sick and pale with grief'''
fname = fname.split()
lst = list(fname)
print(sorted(lst))

@Adelynweige
Copy link

Adelynweige commented May 27, 2022

### i also had problem with 'double' and is there anybody can help further?thx
actally i have understood that we use a blank space after'from'
or we write a conditional sentence like if not len(line) <=3 then continue
the goal is to ensure that we avoid those blank lines
but i still have the question that why cannot use rstrip() here to help avoid those blank lines
for i had tried it but if we do not use a blank space after'from' or write a conditional sentence
the result still doubles
why is that on earth?

@MaryamFarshbafi
Copy link

fname = input("Enter file name: ")

fh = open(fname)
wod=[]
lst = list()
for line in fh:
nm=line.split()
for charcter in nm:
if charcter not in wod:
wod.append(charcter)
wod.sort()

print(wod)

@Dwongg
Copy link

Dwongg commented Sep 7, 2022

:)

file = input("Enter a file name:")
handle = open(file)
read = handle.read()

lst = list( )
for line in read:
line = read.split( )
for w in line:
if w not in lst:
lst.append(w)

lst.sort()
print(lst)

@P-SPN
Copy link

P-SPN commented Oct 6, 2022

fname = input("Enter the file name:")
fhandle = open(fname)
words = list()
for line in fhandle:
line = line.split()

[words.append(i) for i in line if i not in words] // without the need of 'for' loop

for i in line:
    if i not in words:
        words.append(i)

words.sort()
print(words)

@longcheng2022
Copy link

fname = input("Enter file name: ")
fname='romeo.txt'
fh = open(fname)
lst = list()
for line in fh:
word_split=line.split()
for w in word_split:
if w not in lst:
lst.append(w)
else:
continue
lst.sort()
print(lst)

@ibrahim0moakkit
Copy link

fname = input("Enter file name: ")
fh = open(fname)
lst = list()
temp=list()
count=0
for line in fh:
if line.startswith("From "):
words=line.split()

   lst.append(words[1:2])

for element in lst:
for x in element:
print(x)
count+=1

print("There were", count, "lines in the file with From as the first word")

@ali6406
Copy link

ali6406 commented Mar 16, 2023

image

Not the best but works well. :)

@ShuckZ77
Copy link

fname = input("Enter file name: ")
fh = open(fname)
lst = list()
lst2 = []
for line in fh:
q=line.rstrip()
w=q.split()

for word in w:
    if word not in lst:
        lst.append(word)
    
    else:
        continue

#print(q)

#print(lst2)
lst.sort()
print(lst)
#print()

@Apodaca98
Copy link

Apodaca98 commented Aug 19, 2023

I don't know why when I run the code I get none, help me.

fname = "8.4.txt"
fh = open(fname)
fh = fh.read().split()
lst = []
indice = len(fh)
for i in range(indice):
if fh[i] not in lst:
lst.append(fh[i])
lst = lst.sort()
print(lst)

@KamdiaSJ
Copy link

fname = raw_input("Enter file name: ")
fh = open(fname)
lst = list()
for line in fh:
word= line.rstrip().split()
for element in word:
if element in lst:
continue
else :
lst.append(element)
lst.sort()
print(lst)

@Inspire2023
Copy link

fname = input("Enter file name: ")

try :
fh = open(fname)
except:
print("File Does not Exist!")

lst = list()

for line in fh:
words = line.split()
for word in words:
if word in lst: continue

    lst.append(word)
lst.sort()

print(lst)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment