ユーザから入力文字列を受け取り、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
それが言葉なら、なぜノーアルファベットを ""(空文字列)に置き換えるのですか? – EvanL00