mirror of
https://github.com/Lyxminxx/TIP.git
synced 2026-10-11 20:57:39 +02:00
Initial commit
This commit is contained in:
1 file changed
+102
@@ -0,0 +1,102 @@
|
||||
from os import system, name
|
||||
def clear():
|
||||
|
||||
# for windows
|
||||
if name == 'nt':
|
||||
_ = system('cls')
|
||||
|
||||
# for mac and linux(here, os.name is 'posix')
|
||||
else:
|
||||
_ = system('clear')
|
||||
|
||||
print("Welcome to TIP!\n")
|
||||
|
||||
#Pulls and reads the text-file
|
||||
|
||||
pathCheck = False
|
||||
while not pathCheck:
|
||||
userTextfile = input("Give the path to file.\n>")
|
||||
userTextfile = userTextfile.replace("\\", "/").replace('"', "")
|
||||
try:
|
||||
textfile = open(userTextfile, "r", encoding="utf-8")
|
||||
text = textfile.read()
|
||||
pathCheck = True
|
||||
except FileNotFoundError:
|
||||
print("Your file was not found, make sure you provide the right path.")
|
||||
input ("Hit ENTER too try again.")
|
||||
clear()
|
||||
clear()
|
||||
|
||||
#Removes punctuation
|
||||
punctuationRemover = dict.fromkeys(map(ord, '!@#$.,":-'), None)
|
||||
text = text.translate(punctuationRemover)
|
||||
#Makes all the text lowercase so there wont be duplicates like Yes and yes.
|
||||
text = text.lower()
|
||||
|
||||
#Makes a dictionary that will save the words and how many times the word has been used
|
||||
wordAmount = {}
|
||||
#Makes a list and adds each word as it's own list item.
|
||||
wordlist = text.split()
|
||||
|
||||
for i in range (len(wordlist)):
|
||||
#If the word is not in the dictionary, add it and give it the value of 1
|
||||
if not(wordlist[i] in wordAmount):
|
||||
wordAmount[wordlist[i]] = 1
|
||||
#If the word is in the dictionary add 1 to the value.
|
||||
elif(wordlist[i] in wordAmount):
|
||||
wordAmount[wordlist[i]] = wordAmount[wordlist[i]] + 1
|
||||
|
||||
#Sorts the list from smallest to largest
|
||||
wordAmount = dict(sorted(wordAmount.items(), key=lambda item: item[1]))
|
||||
#reverses the list.
|
||||
wordAmount = dict(reversed(list(wordAmount.items())))
|
||||
|
||||
done = False
|
||||
|
||||
while done == False:
|
||||
print("TIP\n")
|
||||
todo = input("What do you want to do? \n A: See a list of the most used words. \n B: Search for a word. \n C: Look at information about the text. \n D: Exit\n>").strip()
|
||||
clear()
|
||||
if todo.upper() == "A" or todo.upper() == "LISTE" or todo.upper() == "LIST":
|
||||
amountWrittenOut = int(input("How many words do you want to see?\n>"))
|
||||
|
||||
#Prints out a list of words
|
||||
if amountWrittenOut > len(wordAmount):
|
||||
for i in range (1,len(wordAmount)+1):
|
||||
print(f"{i}. Word: '{list(wordAmount)[i]}' - Amount: {list(wordAmount.values())[i]}")
|
||||
else:
|
||||
for i in range (1,amountWrittenOut+1):
|
||||
print(f"{i}. Word: '{list(wordAmount)[i]}' - Amount: {list(wordAmount.values())[i]}")
|
||||
elif todo.upper() == "B" or todo.upper() == "SØK" or todo.upper() == "SØKE" or todo.upper() == "SEARCH":
|
||||
searchWord = input("Which word are you looking for?\n>").lower()
|
||||
if (searchWord in wordAmount):
|
||||
print(f"\nThe word '{searchWord}' was used {wordAmount[searchWord]} times in the text.")
|
||||
else:
|
||||
print(f"\nThe word '{searchWord}' is not in the text.")
|
||||
|
||||
elif todo.upper() == "C" or todo.upper == "info" or todo.upper == "information" or todo.upper == "informasjon":
|
||||
print(f"There are {len(wordlist)} words in the text.")
|
||||
|
||||
textfile = open(userTextfile, "r", encoding="utf-8")
|
||||
textfile = textfile.read().replace(" ", "")
|
||||
charCount = list(textfile)
|
||||
|
||||
print(f"There are {len(charCount)} characters in the text.")
|
||||
textfile = text.split()
|
||||
wordLength = []
|
||||
average = 0
|
||||
for i in range (0, len(textfile)):
|
||||
wordLength.append(len(textfile[i]))
|
||||
|
||||
for i in range (0,len(wordLength)):
|
||||
currentNumber = int(wordLength[i])
|
||||
average += int(currentNumber)
|
||||
average = round(average / len(textfile),2)
|
||||
print(f"At average there is {average} symboles in each word.")
|
||||
elif todo.upper() == "D" or todo.upper() == "EXIT":
|
||||
done = True
|
||||
|
||||
else:
|
||||
print("ERROR - You have to choose one of the functions\n")
|
||||
input("Hit ENTER to continue!")
|
||||
clear()
|
||||
Reference in new issue
Block a user