python – 随机化单词中的字母

问题要求用户输入一个单词串,然后随机化单词中字母的位置,例如,“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]

解决方法

代码不必要地复杂,也许这将更容易理解:
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

相关文章

我最近重新拾起了计算机视觉,借助Python的opencv还有face_r...
说到Pooling,相信学习过CNN的朋友们都不会感到陌生。Poolin...
记得大一学Python的时候,有一个题目是判断一个数是否是复数...
文章目录 3 直方图Histogramplot1. 基本直方图的绘制 Basic ...
文章目录 5 小提琴图Violinplot1. 基础小提琴图绘制 Basic v...
文章目录 4 核密度图Densityplot1. 基础核密度图绘制 Basic ...