這是問題和高清功能的設置是一個字符串的函數:編寫洗牌使用binKey
shuffleString(myString, binKey) - return myShufString.
編寫慢騰騰字符,myString
的字符串,使用binKey
功能。這是主意。我們形成一個新的空字符串myShufString
,然後我們通過連接來自myString
的開頭或結尾的字符來建立,這取決於binKey[i]
是0還是1,從i = 0開始並根據需要循環通過binKey
。你的功能應該是shuffleString(myString, binKey)
的形式,應該返回myShufString
。
提示:你可能會想從myString
形成字符的名單,超過的myString
長度使用中的列表方法流行的循環。這樣您就不必跟蹤myString
末尾的哪些字符已被使用並添加到myShufString
。您將在步驟5中調用此函數以混洗您在步驟1中創建的字母表。
下面是一個示例。假設myString = 'abcdefgh'
和binKey = '101'
。
然後myShufString = 'hagfbedc'
原因:以
我們建立myShufString
如下。
0)形成字符的myString
的列表,並調用它myList
,所以:
myList = ['a','b','c','d','e','f','g','h'].
1)開始與空字符串:myShufString = ''
2)由於binKey[0] = '1'
,彈出' h'從myList
的末尾開始,並連接到myShufString
。
3)由於binKey[1] = '0'
,從myList
開始彈出「a」並連接到myShufString
。
4)由於binKey[2] = '1'
,從myList
末尾彈出'g'並連接到myShufString
。
5)現在我們已經到了binKey
的末尾,所以我們回到起點。
6)由於binKey[0] = '1'
,從myList末尾彈出'f'並連接到myShufString
。
7)由於binKey[1] = '0'
,從myList
開始彈出'b'並連接到myShufString
。
我得到這個至今:
def shuffleString(myString, binKey):
myShufString = ""
myList = list(myString)
for string in range(len(myString)):
if binKey[i] == '0':
myShufString += myList.pop(0)
else:
myShufString += myList.pop(-1)
我應該使用ELIF而不是別的,或者是這樣行嗎? 不知道如何彈出和binKey
命令工作...不知道如何做其餘的...
編輯: 我得到了以下錯誤消息:
回溯(最近通話最後一個):
文件 「」,1號線,在
decryptCS8Cipher("That Sam-I-Am. That Sam-I-Am. I do not like that Sam-I-Am.","decaf")
文件「C:\ Users \ Elizabeth \ Dropbox \ CMPSC 8 \ lab05 \ lab05_function.py「,第54行,在
decryptCS8Cipher
shufAlph = shuffleString(alphabet, binKey)
文件 「C:\用戶\伊麗莎白\收存箱\ CMPSC 8 \ lab05 \ lab05_function.py」,第18行,在shuffleString
if binKey[i] == '0':
NameError:全局名稱的 'i' 沒有定義
我不知道該怎麼做的字符串和我的變量! 請幫忙!謝謝!
我認爲這是一個家庭作業問題,在這種情況下,您應該將其標記爲「作業」 – 2012-02-27 04:57:28
這是,謝謝!我會! – Elizabeth 2012-02-27 04:58:52