python_day2
来源:互联网 发布:淘宝怎么设置主营类目 编辑:程序博客网 时间:2024/06/10 20:41
首先附上知识点的思维导图:
http://naotu.baidu.com/file/9be93c8618301636a718f18330143574?token=a763ba2ba0291fc6
下面是对python的语法结构讲解
顺序结构:这是基本的语句结构
分支结构
- if:
if 表达式: 语句
- if…else…
if 表达式: 语句else: 语句
- if…elif…else
if 表达式: 语句elif 表达式: 语句else: 语句注意:在python里面不支持switch语句,如果想实现switch的效果,第一种方法就是使用if...elif...else...
三目运算符:
C : a>b? a:bPython : maxNum = a if a>b else b
循环语句
for , while ,do …while…
for 循环
- range(m,n,x):从m起始到n-1结束(不包含n),x代表步长;
for item in range(m,n,x): 循环的语句for item in 可迭代的类型(eg:字符串): 循环的语句
- 两个关键字:
- break : 跳出循环体,不再执行循环;
- continue : 跳出本次循环,继续执行下一次循环;
编程练习:
用户输入一个数字,判断是否为质数;
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循环
while
while 表达式(或者True,False): 循环的语句
while…else…
while 表达式: 循环语句else: 语句
pass
只是占一个语句的位置,并无任何擦作
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结束,间隔为xa[:n] ##从开头切到n-1a[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])
字符串的变形
- s.swapcase //反转字母,大小写互换
- s.lower
- s.upper
- s.title
- s.format //以指定的格式显示
编程练习:
处理字符串”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.split() //默认情况下,以空格为分隔符
字符串的判定(是否小写或者大写或者数字……)
字符串的查找
- s.count()
- s.find() //前往后找
- s.index()
- s.rfind() //从后往前找
替换
s.replace()
拼接
s.join()
这里以小米的一道面试题讲解:
输入字符串 : hello xiao mi
要求输出 : mi xiao hello
代码:
#!/usr/bin/env python#coding:utf-8print " ".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 "变量名不合法"
实现:
阅读全文
0 0