首先附上知识点的思维导图:
http://naotu.baidu.com/file/9be93c8618301636a718f18330143574?token=a763ba2ba0291fc6
if 表达式:
语句
if 表达式:
语句
else:
语句
if 表达式:
语句
elif 表达式:
语句
else:
语句
注意:在python里面不支持switch语句,如果想实现switch的效果,第一种方法就是使用if...elif...else...
C : a>b? a:b
Python : maxNum = a if a>b else b
for , while ,do …while…
for item in range(m,n,x):
循环的语句
for item in 可迭代的类型(eg:字符串):
循环的语句
编程练习:
用户输入一个数字,判断是否为质数;
1 #!/usr/bin/env python
2 #coding:utf-8
3
4 num = input(">>> please input a number : ")
5 if num > 1:
6 for i in range(2,num):
7 if num % i == 0 :
8 print num,"不是质数"
9 break
10 else:
11 print num,"是质数"
12 else:
13 print num,"不是质数"
while 表达式(或者True,False):
循环的语句
while 表达式:
循环语句
else:
语句
只是占一个语句的位置,并无任何擦作
if a>1:
pass
C : 数组, 结构体, ……
Python : str, list, tuple(元组), set(集合), dict(字典)……
转义字符: \n, \t, \r, \’, ‘”
索引:检索引用,通过字符串的下标,拿出字符串的某个字符;(注意:下标从0开始)
a[0] ##拿出字符串字一个字符
a[-1] ##拿出字符串的最后一个字符
拼接: +
"hello"+"world"
a[0]+a[1]
a[m:n:x] ##从m索引开始切,到n-1结束,间隔为x
a[:n] ##从开头切到n-1
a[m:] ##从m切到字符串结束
a[::] ##切出与a相同的字符串
a[::-1] #倒序输出字符串a
[] : 表示可加可不加
- S.center()
S.center(width[, fillchar]) -> string //输入字符串宽度为width,S显示在中间,其他部分有fillchar填充
- S.ljust()
S.ljust(width[, fillchar]) -> string //S显示在左边
- S.rjust(width[, fillchar]) //S显示在右边
- S.strip
S.strip([chars]) -> string or unicode //删除S中首位指定的chars没有参数时默认为空格;
- S.lstrip([chars])
- S.rstrip([chars])
编程练习:
处理字符串”1Xa7YzU”,最终分别打印数字,大写字母和小写字母;
代码:
1 #!/usr/bin/env python
2 #coding: utf-8
3
4 str = "1Xa7YzU"
5 Upper = ""
6 Lower = ""
7 Digit = ""
8 for i in str:
9 if i.isupper():
10 Upper += i
11 elif i.islower():
12 Lower += i
13 elif i.isdigit():
14 Digit += i
15 else:
16 print "input error"
17 print "大写字母有 : "+Upper,"\t小写字母有 :"+Lower,"\t数字有 :"+Digit
s.replace()
s.join()
这里以小米的一道面试题讲解:
输入字符串 : hello xiao mi
要求输出 : mi xiao hello
代码:
#!/usr/bin/env python
#coding:utf-8
print " ".join(raw_input(">>> input a sentense: ").split()[::-1])
#其实就是一行实现
编写一个python脚本,判断用户输入的变量名是否合法? (首位为字母或下划线,其他为数字,字母或下划线)
1 #!/usr/bin/env python
2 #coding:utf-8
3
4 import string
5 name = raw_input(">>> input your variable: ")
6 if name[0] in string.letters+"_":
7 for i in name:
8 if i not in string.letters+string.digits+"_":
9 print "变量名不合法"
10 exit()
11 print "变量名合法"
12 else:
13 print "变量名不合法"