>>> defprime_numbers():... l=[2]
... for x in range(3,101):
... n=2... count = 0... while n < x:
... if x % n != 0:
... count = count +1... n = n + 1... if count == (x-2):
... l.append(x)
... return l
...# 不考虑纯函数的话用filter函数会更简便>>> prime_numbers()
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]
3 letter_count
>>> defletter_count(str):... data = 'qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM'... l = []
... for i in data:
... count = 0... n = len(str) - 1... while n>= 0:
... if i == str[n]:
... count = count +1... n = n-1... if count > 0:
... l.append((i,count))
... return l
...
4 cap_string(str)
>>> defcap_string(str):... str = str.lower()
... length = len(str)
... n = 1... if str[0] != ' ' :
... l = str[0].upper()
... else :
... l = str[0]
... while n < length:
... if str[n] != ' ':
... if str[n-1] == ' ':
... l = l + str[n].upper()
... else:
... l = l + str[n]
... else:
... l = l + str[n]
... n = n +1... return l
...# 列表生成式应该会更快点