顺序结构
分支结构
- if:
if 表达式:
语句
- if…else…
if 表达式:
语句
else:
语句
- if…elif…else…
if 表达式:
语句
elif 表达式:
语句
else:
语句
注意:在python里面不支持switch语句,如果想实现switch的效果,第一种方法就是使用if...elif...elif...else...;
python中实现三目运算符:
C: maxNum = 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:字符串.....):
循环的语句
注意:不支持for(i=0; i<8;i++)
- 两个关键字:
- break:跳出循环,不再执行循环;
- continue:跳出本次循环,继续执行下一个循环;
while循环
while
while 表达式(或者True,False):
循环的语句
while … else …..
while 表达式:
循环语句
In [5]: while trycount<3:
...: print "login"
...: trycount+=1
...: else:
...: print "bigger than 3"
...:
pass
只是占一个语句的位置,并无任何操作;
程序 = 算法 + 数据结构
C:数组,结构体,………..
Python: str,list,tuple,set,dict……..
字符串
字符串的定义
- ” “
- ’ ‘
- “”” “”“
转义字符:\n \r \t \’ \”
字符串的特性
索引:检索引用,通过字符串的下标,拿出字符串的某个字符;(注意:下标从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
字符串的方法
字符串填充
//输出字符串宽度为width,S显示在中间,其他部分由fillchar填充
- S.center(width[, fillchar]) -> string
//S显示在left(左边)
- S.ljust(width[, fillchar])
//S显示在right(右边)
- S.rjust(width[, fillchar])
删除前后空格
//删除S中首位指定的chars,没有参数时,默认为空格;
- S.strip([chars]) -> string
- S.lstrip([chars])
- S.rstrip([chars])
字符串变形计
//大小写互换
- s.swapcase
- s.title
- s.upper
- s.lower
- s.format
字符串分割
s.split() //默认情况下以空格为分隔符
字符串判定(是否小写/大写/数字…..)
字符串的查找
s.count
s.find
s.index
s.rindex
s.rfind
替换
s.replace()
实例:
1.输入一个字符串,将小写字母,大写字母,数字,另外输出出来
#!/usr/bin/env python
#coding:utf-8
"""
file: fenli.py
date: 2017-08-25 3:53 PM
author: xsh
desc:
"""
xiao = ""
da = ""
num = ""
a = raw_input("Please input a str:")
for i in a :
if i.islower() == True:
xiao+=i
elif i.isupper() == True:
da+=i
elif i.isdigit() == True:
num+=i
else:
pass
# print "xiao:",xiao
# print "da:",da
# print "num:",num
print("xiao: {}\nda: {}\nnum: {}".format(xiao,da,num))
2.输入一串字符,只有字母以及数字,反序输出 eg:input:hello world
output:world hello
#!/usr/bin/env python
#coding:utf-8
"""
file: fanzhuan.py
date: 2017-08-25 10:33 PM
author: xsh
desc:
"""
shuru = raw_input("Please input one sentance:")
shuchu = shuru.split()
shuchu.reverse()
print " ".join(shuchu)
3.检查输入的字符串是否合法,首字母只能是字母或下划线,其余的只能是字母,下划线,数字
#!/usr/bin/env python
#coding:utf-8
"""
file: bianliang.py
date: 2017-08-25 8:18 PM
author: xsh
desc:
"""
import string
bianliang = raw_input("Please input one bianliang:")
if bianliang[0] in string.letters+"_":
a = bianliang[1:]
for i in a :
while (i in string.letters+"_"+string.digits) == False:
print "This bianliang is illegal:"
exit()
else:
pass
else:
print "This bianliang is illegal:"
exit()
print "This bianliang is legal:"
4.四则运算
#!/usr/bin/env python
#coding:utf-8
"""
file: sizeyunsuan.py
date: 2017-08-25 9:37 AM
author: xsh
desc:
"""
num1 = input("Please input first num:")
fuhao = raw_input("Please input a fuhao:")
num2 = input("Please input second num:")
if fuhao == "+":
print("{}+{}={}".format(num1,num2,num1+num2))
elif fuhao == "-":
print("{}-{}={}".format(num1,num2,num1-num2))
elif fuhao == "*":
print('{}*{}={}'.format(num1,num2,num1*num2))
elif fuhao == "/":
print('{}/{}={}'.format(num1,num2,num1/num2))
else:
print ("Are you sb?")