python_day2

首先附上知识点的思维导图:
http://naotu.baidu.com/file/9be93c8618301636a718f18330143574?token=a763ba2ba0291fc6
python_day2_第1张图片


下面是对python的语法结构讲解

顺序结构:这是基本的语句结构

分支结构

  • if:
if 表达式:
    语句
  • if…else…
if 表达式:
    语句
else:
    语句
  • if…elif…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 循环

  • 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,"不是质数"

实现:
python_day2_第2张图片

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结束,间隔为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])

字符串的变形

  • 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-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 "变量名不合法"

实现:
python_day2_第3张图片

你可能感兴趣的:(python,python)