已采納回答 / _天微涼_
x都是tuple類型的數據,x(0)是字符串,x(1)是數字,所以%x是將x里的兩個元素分割開,并且x(0)按%s也就是字符串格式輸出,x(1)按%d也就是整數格式輸出。
2017-10-17
已采納回答 / 慕粉0100288097
python里的所有東西都是對象,對象都有屬性。for a ?in B: ? 底層本質的含義是對B對象進行遍歷。底層的設計B對象上必須含有__iter__屬性和next()方法時,B才能被for循環遍歷。而剛好pyhon里,字符串對象是有__iter__屬相和next()方法的,所以他是可以被for循環遍歷的。換句話說,為什么sum(x,y)就等于x和y的和呢。因為sum()這個函數是被程序設計者封裝了一個簡單算法在里面。同理,為什么字符串對象可以被遍歷呢,因為python的設計者在設計之初就對“字符串可...
2017-10-15
已采納回答 / yc913344706
for m in M:? ? m=m+1上面這里有問題,你只對列表中的元素m進行了改變,并沒有改變列表M,應該改為下面的:for index,value in enumerate(M):? ? value=value+1? ? M[index]=value
2017-10-15
已采納回答 / 慕粉9965376
特意運行了一下R1函數:這句r[-1:],r[0:-1] = r[0:-1],r[-1:]其實是先后執行以下兩步:1、r[-1:]=r[0:-1] ?#先把“Ronaldo”變成“RonaldRonald”,存在內存里,r這個時候還是“Ronaldo”,還沒有賦值為“RonaldRonald”2、r[0:-1]=r[-1:] #再把“RonaldRonald”變成“od”,因為r還是“Ronaldo”,所以取'o'替換“RonaldRonald”中的“RonaldRonal”執行完之后r才賦值為“od”R...
2017-10-15
最贊回答 / 李小美0
我試了這種,只輸出HELLO,好像是函數一旦產生返回值后就不繼續執行了至于你那種是否語法不支持?麻煩高手回復一下我def toUppers(L):? ? for s in L:? ? ? ? if isinstance(s,str):? ? ? ? ? ? return s.upper()print toUppers([000,'Hello', 'world', 101])
2017-10-15
最新回答 / 慕粉0100288097
因為你的函數里面有一個return greet(),程序執行函數時,在函數內部又會執行一次函數,然后就循環了,一次不停的在函數內部調用自己。解決辦法就是去掉return后的greet()def greet(x=1):? ? ? ?if x == 1:? ? ? ? ? ? ?print('Hello,world.')? ? ? ?else:? ? ? ? ? ? ?print('Hello,%s.'%x)? ? ? ?returngreet('Bart')
2017-10-14
已采納回答 / 幕布斯3073696
漢諾塔講究大小順序,小的在上大的在下,要把n個盤子從a柱移到c柱就是move(n,a,b,c)。注意函數里面的4個參數:第一個參數(n)代表的是盤子個數,第二個參數(a)的位置代表的是起始柱,第三個參數(b)代表的是過渡柱,最后一個參數(c)代表的是目標柱。你不要想具體的移動的步驟,抽象來想:第一步就是把n-1個小盤子移到b,第二步是把a柱上的最大的盤子移到c,最后是把b柱上n-1個盤子移到c所以第一步就是move(n-1,a,c,b)?,這個參數代表把n-1個盤子從a起始柱移到b目標柱,c就當是個過渡的...
2017-10-13
最新回答 / 慕運維9415514
不同版本的python可能不一樣的,如果你同時編輯了coding:utf-8-*-和u''' 巴拉巴拉''',那么只要刪除coding:utf-8-*-行或者字母u即可。這個在該小節下面別人有筆記總結的
2017-10-13