我正在創建一個程序,它接受來自用戶的輸入字符串,然後使用ord函數從字符串中去除標點符號。然後它應該計算每個單詞的位置(從1開始)並忽略任何重複的單詞。壓縮的句子應該像位置一樣寫入文本文件。Python 3通過從輸入字符串中去除標點符號並計算字符串中字的位置來壓縮文本
我的代碼的問題是,輸入字符串被拆分爲單個字母和位置計數,計算單個字母。我確信有一個簡單的修復,但84個版本後,我已經用完了想法。
import string
sentence=input("Please enter a sentence: ")
sentence=sentence.upper()
sentencelist = open("sentence_List.txt","w")
sentencelist.write(str(sentence))
sentencelist.close()
words=list(str.split(sentence))
wordlist=len(words)
position=[]
text=()
uniquewords=[]
texts=""
nsentence=(sentence)
for c in list(sentence):
if not ord(c.lower()) in range(97,122):
nsentence=nsentence.replace(c, "")#Ascii a-z
print(nsentence)
nsentencelist=len(nsentence)
print(nsentencelist)
nsentencelist2 = open("nsentence_List.txt","w")
nsentencelist2.write(str(nsentence))
nsentencelist2.close()
你可以請包括樣本輸入和期望的輸出嗎? – Crispin
如果是這樣的話,爲什麼你把no-alphabet換成「」(空字符串)? – EvanL00