第一节
1 介绍了Python的一种内置方法type(x),用来判断x的类型,比如type(5)是int,type("asf")是string等等
2 练习:写一个函数为is_int,x作为参数,判断x是否为整数,但是要注意的是如果x的小数点全部为0那么x也认为是整数比如7.0
def is_int(x):
if type(x) == int or x == int(x):
return True
else:
return False
第二节
1 练习:写一个函数为digit_sum(),n作为参数,求n所有位数的和
def digit_sum(n):
sum = 0
while n > 0:
sum += n%10
n /= 10
return sum
第三节
1 练习:写一个函数factorial,参数为x,求x的所有位数的乘积
def factorial(x):
sum = 1
while x > 0:
sum *= x
x -= 1
return sum
第四节
1 写一个函数is_prime,参数是x,判断x是否为质数
def is_prime(x):
if x <= 1:
return False
for i in range(2,x):
if x%i == 0:
return False
return True
第五节
1 首先介绍了我们可以使用[::-1]来反转一个列表,一个字符串,比如my_list = [1,2,3,4],那么my_list[::-1]就是为[4,3,2,1]
2 练习:写一个函数为reverse,参数是一个字符串text,把text逆向的串输出,比如"abcd"应该输出为"dcba"
def reverse(text):
length = len(text)
str = ""
while length > 0:
length -= 1
str += text[length]
return str
第六节
1 练习:写一个函数为anti_vowel,参数是字符串text,要求把所有是元音的字母全部去掉然后返回
def anti_vowel(text):
str = ""
length = len(text)
for i in range(length):
x = text[i].lower()
if x != "a" and x != "i" and x != "o" and x != "u" and x != "e":
str += text[i]
return str
第七节
1 练习:写一个函数为scrabble_score参数为字符串word,根据提供的字典,求出word的得分
score = {"a": 1, "c": 3, "b": 3, "e": 1, "d": 2, "g": 2,
"f": 4, "i": 1, "h": 4, "k": 5, "j": 8, "m": 3,
"l": 1, "o": 1, "n": 1, "q": 10, "p": 3, "s": 1,
"r": 1, "u": 1, "t": 1, "w": 4, "v": 4, "y": 4,
"x": 8, "z": 10}
def scrabble_score(word):
sum = 0
length = len(word)
for i in range(length):
x = word[i].lower()
sum += score[x]
return sum
第八节
1 练习:写一个函数为censor,参数为两个字符串text和word,要求把text里面出现的word换成对应长度的"*"串
比如text为"hack is hack"word为"hack",那么输出为"**** is ****"
def censor(text , word):
len_text = len(text)
len_word = len(word)
str = ""
i = 0
while i < len_text:
isOk = True
pos = 0
for j in range(i,i+len_word):
if j >= len_text or text[j] != word[pos]:
isOk = False
break
else:
pos += 1
if isOk:
for j in range(len_word):
str += "*"
i += len_word
else:
str += text[i]
i += 1
return str
第九节
1 练习:写一个函数为purify,参数是一个列表,要求把列表中的所有奇数删除,然后返回这个列表
def purify(my_list):
while True:
isOk = False;
for num in my_list:
if num%2:
my_list.remove(num)
isOk = True
break
if isOk == False:
break
return my_list
第十节
1 练习:写一个函数remove_duplicates,参数是一个列表,要求把所有的相同的元素去掉,返回一个新的列表
def remove_duplicates(my_list):
my_list.sort()
res = []
length = my_list
i = 0
for num in my_list:
if (num in res):
continue
else:
res.append(num)
return res