问题要求用户输入一个单词字符串,然后随机化单词中字母的位置,例如,“hello”可以变成“elhlo”
import random
def word_jumble():
word = raw_input("Enter a word: ")
new_word = ""
for ch in range(len(word)):
r = random.randint(0,len(word)-1)
new_word += word[r]
word = word.replace(word[r],"",1)
print new_word
def main():
word_jumble()
main()
我从其他人那里得到了该程序,但不知道它是如何工作的。有人可以向我解释一下吗?
之前我了解一切new_word += word[r]
答案 0 :(得分:2)
代码不必要地复杂,也许这会更容易理解:
import random
word = raw_input("Enter a word: ")
charlst = list(word) # convert the string into a list of characters
random.shuffle(charlst) # shuffle the list of characters randomly
new_word = ''.join(charlst) # convert the list of characters back into a string
答案 1 :(得分:1)
r
是单词中随机选择的索引,因此word[r]
是单词中随机选择的字符。代码的作用是从word
中选择一个随机字符并将其附加到new_word
(new_word += word[r]
)。下一行将删除原始单词中的字符。
答案 2 :(得分:0)
如果您使用bytearray
,则可以直接使用random.shuffle
import random
word = bytearray(raw_input("Enter a word: "))
random.shuffle(word)