私の word_str が「たとえば、これは「ケンブリッジ大学」です。」単語の長さが 3 文字を超える場合、単語の最初と最後の文字を保持し、単語の内部をスクランブルします。私の問題は、単語の最初または最後に句読点がある単語を誤ってシャッフルすることです。句読点が正しいインデックスに残り、単語の最初と最後の文字を保持し、単語の内部をシャッフルして最後に句読点がある場合は最後に追加するようにシャッフルする必要があります。何か案は?
def scramble_word(word_str):
char = ".,!?';:"
import random
if len(word_str) <= 3:
return word_str + ' '
else:
word_str = word_str.strip(char)
word_str = list(word_str)
scramble = word_str[1:-1]
random.shuffle(scramble)
scramble = ''.join(scramble)
word_str = ''.join(word_str)
new_word = word_str[0] + scramble + word_str[-1]
return new_word + ' '