-
對已有的計算 0 - 100 的while循環進行改造,通過增加 continue 語句,使得只計算奇數的和:
sum?=?0 x?=?1 while?True: ????sum?=?sum?+?x ????x?=?x?+?1 ????if?x?>?100: ????????break print?sum
?不會了怎么辦
當 x 是偶數時,就通過continue語句提前進入下一次循環。
continue判斷的位置非常重要。
參考代碼:
sum?=?0 x?=?0 while?True: ????x?=?x?+?1 ????if?x?>?100: ????????break ????if?x?%?2?==?0: ????????continue ????sum?=?sum?+?x print?sum
%是取余數的意思
查看全部 -
創建tuple和創建list唯一不同之處是用
( )
替代了[ ]
。查看全部 -
請利用列表生成式生成列表 [1x2, 3x4, 5x6, 7x8, ..., 99x100]
提示:range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,...]
把每次循環的 x 變成列表中的元素 x * (x + 1)
print [x * (x + 1) for x in range(1, 100, 2)]
查看全部 -
請根據dict:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
打印出 name : score,最后再打印出平均分 average : score。
?不會了怎么辦
需要同時對 name 和 score 進行迭代。
參考代碼:
d?=?{?'Adam':?95,?'Lisa':?85,?'Bart':?59,?'Paul':?74?} sum?=?0.0 for?k,?v?in?d.iteritems(): ????sum?=?sum?+?v ????print?k,?':',?v print?'average',?':',?sum?/?len(d)
查看全部 -
給定一個dict:
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59, 'Paul': 74 }
請計算所有同學的平均分。
?不會了怎么辦
由于分數存儲在dict的value,因此,需要迭代 values() 或 itervalues()。
參考代碼:
d?=?{?'Adam':?95,?'Lisa':?85,?'Bart':?59,?'Paul':?74?} sum?=?0.0 for?v?in?d.itervalues(): ????sum?=?sum?+?v print?sum?/?len(d)
查看全部 -
任務
zip()函數可以把兩個 list 變成一個 list:
>>>?zip([10,?20,?30],?['A',?'B',?'C']) [(10,?'A'),?(20,?'B'),?(30,?'C')]
在迭代 ['Adam', 'Lisa', 'Bart', 'Paul'] 時,如果我們想打印出名次 - 名字(名次從1開始),請考慮如何在迭代中打印出來。
提示:考慮使用zip()函數和range()函數
?不會了怎么辦
range(1, ?) 可以創建出起始為 1 的數列。
參考代碼:
L?=?['Adam',?'Lisa',?'Bart',?'Paul'] for?index,?name?in?zip(range(1,?len(L)+1),?L): ????print?index,?'-',?name
查看全部 -
請用for循環迭代數列 1-100 并打印出7的倍數。
?不會了怎么辦
用range(1, 101)可以創建數組。
參考代碼:
for?i?in?range(1,?101): ????if?i?%?7?==?0: ????????print?i
查看全部 -
insert:
python Java differences:
Python only save data: easy for duqu
Java save data together with site/direction: easy for edit
查看全部 -
if age查看全部
-
例如Python自帶的?int()?函數,其實就有兩個參數,我們既可以傳一個參數,又可以傳兩個參數:
int()函數的第二個參數是轉換進制,如果不傳,默認是十進制 (base=10),如果傳了,就用傳入的參數。
可見,函數的默認參數的作用是簡化調用,你只需要把必須的參數傳進去。但是在需要的時候,又可以傳入額外的參數來覆蓋默認參數值。
查看全部 -
fact(n)可以表示為?n * fact(n-1),只有n=1時需要特殊處理。漢諾塔(http://baike.baidu.com/view/191666.htm) 的移動也可以看做是遞歸函數。
查看全部 -
在Python中,定義一個函數要使用?def?語句,依次寫出函數名、括號、括號中的參數和冒號:,然后,在縮進塊中編寫函數體,函數的返回值用?return?語句返回。
查看全部 -
abs() - 絕對值函數
cmp(x,y)?
Ans: -1,0,1
int()
str()
查看全部 -
字符串有個方法 upper() 可以把字符變成大寫字母:
>>>?'abc'.upper() 'ABC'
但它會把所有字母都變成大寫。請設計一個函數,它接受一個字符串,然后返回一個僅首字母變成大寫的字符串。
提示:利用切片操作簡化字符串操作。
?不會了怎么辦
取除首字母外的字符串用[1:]
參考代碼:
def?firstCharUpper(s): ????return?s[0].upper()?+?s[1:] print?firstCharUpper('hello') print?firstCharUpper('sunday') print?firstCharUpper('september')
查看全部 -
利用倒序切片對 1 - 100 的數列取出:
* 最后10個數;
* 最后10個5的倍數。
5的倍數可以用 ::5 取出,要確定起始索引。
參考代碼:
L?=?range(1,?101) print?L[-10:] print?L[-46::5]
查看全部
舉報