流程控制,以及字符串
http://www.cnblogs.com/linhaifeng/articles/5935801.html#_label34 (基础数据类型与变量)
一、流程控制
1 条件语句》》》》多分支
需求一、用户登录验证
1 #!/usr/bin/env python 2 3 name=input('请输入用户名字:') 4 password=input('请输入密码:') 5 6 if name == 'egon' and password == '123': 7 print('egon login success') 8 else: 9 print('用户名或密码错误')
需求二、根据用户输入内容输出其权限
1 #!/usr/bin/env python 2 #根据用户输入内容打印其权限 3 4 ''' 5 egon --> 超级管理员 6 tom --> 普通管理员 7 jack,rain --> 业务主管 8 其他 --> 普通用户 9 ''' 10 name=input('请输入用户名字:') 11 12 if name == 'egon': 13 print('超级管理员') 14 elif name == 'tom': 15 print('普通管理员') 16 elif name == 'jack' or name == 'rain': 17 print('业务主管') 18 else: 19 print('普通用户')
2、循环语句
while 循环
1、基本循环
while 条件: # 循环体 # 如果条件为真,那么循环体则执行 # 如果条件为假,那么循环体不执行
2、break
break用于退出本层循环
while True: print "123" break print "456"
3、continue
continue用于退出本次循环,继续下一次循环
while True: print "123" continue print "456"
4 tag
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 4 # while True: 5 # username=input('username: ') 6 # password=input('password: ') 7 # if username == 'egon' and password == '123': 8 # while True: 9 # cmd=input('>>: ') 10 # if cmd == 'q': 11 # break 12 # print('------>%s' %cmd) 13 # break 14 tag=True 15 while tag: 16 username=input('username: ') 17 password=input('password: ') 18 if username == 'egon' and password == '123': 19 while tag: 20 cmd=input('>>: ') 21 if cmd == 'q': 22 tag=False 23 continue 24 print('------>%s' %cmd)
5 for循环
九九乘法表
for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s' %(i,j,i*j),end=' ') print()
for i in range(1,10): for j in range(1,i+1): print('%s*%s=%s' %(i,j,i*j),end=' ') print()
数据类型
str #字符串 数字类型 int # 整型 long # 长整型 float # 浮点型 复数 bool #布尔值 True #真 False #假
字符串: 只要是引号里面的都是字符串,不管是几个引号
1 用.去调用python内置的一些字符串常用方法。 2 输入 .后面跟一个字符串命令,比如.strip ,然后ctrl+左键点击strip,就可以出现很多跟这个命令相关的字符出来。 3 4 字符常用功能 字符串是 %s;整数 %d;浮点数%f 5 6 移除空白 7 name = ' Alex Li ' 8 print(name) 9 print(name.strip()) #把一个字符串中的空白去掉 10 11 分割 12 print (name.split())#把一个字符串 按空格分割成 列表 13 14 长度 15 len(name) # 长度判断 16 索引 17 18 切片 19 print(name1.index("h")) index 索引 20 正着 print(name1[0:8]) #切片 21 倒着 print(name1[-6:]) #切片 默认顺序从左往右 顾头不顾尾 22 跳着切 print(name1[0:2]) #2 表示步长
还可以用strip来去符号 之类的
首字母大写
所有字母大写
.lower 是所有字母小写
center的功能 指定宽度和居中显示; 30表示指定的30的宽度
count 计数;下图是统计l字符出现了几次: 很明显是3次
isdigit #是否属数字
index 查索引
find 寻找,下图是找s字母,很明显没有s字母,所以是负数,负数表示寻找失败;
若字符串里面有要找的字符,会直接显示出来所对应的位置
format 格式化字符串,每个中括号都相互对应:请看下图 下面的format只能多,不能少,少了就报错,多了不会显示
下图新一种玩法,通过位置方法来取; 0表示取format中第一个值aaa,1表示取第二个值bbb 所以出现这个情况
指名道姓 让谁谁谁传值,就会显示下图中的所示:
取下图中的值 用中括号
倒着取值,负数没有0,所以只能-1开始
index 查索引 ,说白了就是查字符对应的是第几个数字,而[]是用数字查对应的字符; 正好o是第四个字符,所以显示数字4
s为字符串
s.isalnum() 所有字符都是数字或者字母
s.isalpha() 所有字符都是字母
s.isdigit() 所有字符都是数字
s.islower() 所有字符都是小写
s.isupper() 所有字符都是大写
s.istitle() 所有单词都是首字母大写,像标题
s.isspace() 所有字符都是空白字符、\t、\n、\r
upper都转换成大写;lower都转换成小写。
全都是空格 才显示对
首字母大写 istitle
左对齐对齐的意思:共10个字符,不够的用星号代替对齐。
右对齐
大小写翻转:
首字母大写:
find和index的区别
———————————————————————
ps:位运算
^表示bitwise XOR,在二进制下,0^1 = 1, 0^0=0, 1^1=0 也就是说,两个数不同的时候为T,
相同的时候为F。