【发布时间】:2014-05-16 00:49:47
【问题描述】:
我正在尝试创建一个对单词和句子进行打乱的程序。我有打乱单词的代码,但我不知道该怎么做才能打乱一个句子。有任何想法吗? 提前致谢!!
import random
def main():
word = input("Please enter a word or a sentence (if sentence, add a period to end the sentence: ")
if "." in word:
print(scramble(word))
else:
print(scrambleTwo(word))
def scramble(word):
char1 = random.randint(1, len(word)-2)
char2 = random.randint(1, len(word)-2)
while char1 == char2:
char2 = random.randint(1, len(word)-2)
newWord = ""
for i in range(len(word)):
if i == char1:
newWord = newWord + word[char2]
elif i == char2:
newWord = newWord + word[char1]
else:
newWord = newWord + word[i]
return newWord
def scrambleTwo(word):
main()
【问题讨论】:
-
你到底卡在哪里了?打乱一个你不理解的单词会阻止你用它来打乱一个句子是什么意思?你尝试了什么?
-
这看起来像是作业,但我无法抗拒:您可以将句子拆分为单个单词,然后将它们添加到集合中。一个集合的顺序是不确定的,所以你的句子会被打乱。
-
我认为你的函数也可以使用列表,所以
s=sentence.split()然后' '.join(scramble(s))。 -
您可以使用
random.shuffle(),只要记住使用您的数据副本,因为它会就地随机播放。