我在使用 python 程序时遇到问题...我需要该程序混淆单词的中间,同时保持外部两个字母完好无损...我相信我已经成功地将单词分成三个不同的部分,我只是不能弄清楚我应该如何打乱单词的中间部分
word = input("Enter a word")
first_letter = word[0]
last_letter = word[-1]
still_to_scramble = word[1:-1]
我应该使用随机数吗?或者有一个简单的方法,抱歉我对编码比较陌生。
您可以使用shuffle
来自随机包:
import random
letters = list(still_to_scramble)
random.shuffle(letters)
scrambled = ''.join(letters)
其工作原理如下:
>>> s
'$123abc$'
>>> first_letter = s[0]
>>> last_letter = s[-1]
>>> middle_parts = list(s[1:-1])
>>> random.shuffle(middle_parts)
>>> ''.join(middle_parts)
'b3a2c1'
请小心,不要这样做:
>>> middle_parts_random = random.shuffle(middle_parts)
shuffle
works in place- 这是一种奇特的说法,它不返回打乱的位,而是修改它。它实际上返回None
,你可能会被它绊倒,因为你不会看到错误:
>>> middle_parts_random = random.shuffle(middle_parts)
>>> middle_parts_random # Huh? nothing is printed!
>>> middle_parts_random == None # Ah, that's why. Darn you in-place methods!
True
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)