基础数据类型 格式化输出

int
i = 100
print(i.bit_length())
十进制转化成二进制的有效位数

1 0000 0001
2 0000 0010
3 0000 0011
100

基础数据类型初识:
int(数字):用于计算
str(字符串 ):存储少量数据
bool(布尔值):判断真假 True False
list(列表):储存 各种数据类型的数据,大量的数据,便于操作
tuple(元组):() 只读列表。(有权限看,没权利改)
dict(字典):1,存储大量的数据,关系型数据。
set(集合):用于关系型测试
tuple (元组):()只读列表。(有权限看,没权利改)
int <---> str
str ---> int int(str) 条件:字符串必须全部由数字组成。
int ---> str str(int)

age = int(input('>>>'))
print(age,type(age))
s1 = str(123)
s2 = 123
print(s1, type(s1))
View Code

bool ----> int True ---> 1 False ---> 0
int ----> bool 非零即为True,零 False
bool ---> str str(True) str(False)
str ---> bool 非空即为 True ''空字符串 --> False

 

输入员工信息q退出:

 

while True:
    name = input('输入用户信息:')
    if name == 'q':
        break
    else:
        print('新员工信息:'+name)
View Code

 

向系统中录入员工信息,不停的录入 回车时退出
while 1:
    name = input('输入员工信息:')
    if not name:
        break
print('员工信息是%s' % name)
if条件为真代码块执行
not False('') == True  所以条件执行break
所以输入空的时候退出程序
View Code

索引,切片 ,步长

索引 索引有顺序排列,第一位开始是0,1,2,3...

s = 'python12期'

s1 = s[0]
print(s1,type(s1)) type:检查属于什么类型的数据
s2 = s[4]
print(s2) print:0
s3 = s[2]
print(s3) print:t

s6 = s[0:6] 切片:顾头不顾尾
print(s6) print:python
s7 = s[1:4]
print(s7) print:yth
s8 = s[1:]
print(s8) print:ython12期
s10 = s[:5:2]
print(s10) print : pto
s12 = s[-1:-5:-1]
print(s12) print:期21n
View Code

字符串的常用操作方法
s = 'laoNANhai'
** capitalize 首字母大写,其余字母小写
s1 = s.capitalize()
print(s1)

* 居中 center

s = 'laoNANhai'
s2 = s.center(27,"*")
print(s2)

*** upper:全大写
lower:全小写

s = 'laoNANhai'
s3 = s.upper()
s31 = s.lower()
print(s3)
print(s31)

输入验证码,不区分大小写:
code = 'QAdr'.upper()
your_code = input('请输入验证码,不区分大小写:').upper()
if your_code == code:
print('验证成功')

erify_code = 'FaD3'
verify_code_user = input('请输入验证码:')
if verify_code.upper() == verify_code_user.upper():
    print('验证码成功')
else:
    print('验证失败')
View Code
casefold:转换成小写,和lower的区别:lower对于某些字符支持的不够好。casefold对所有字母都有效,比如东欧的一些字母

*** startswith :判断以什么内容开头,
返回bool,可以切片,切片用逗号隔开。
***endswith

s = 'laoNANhai'
s4 = s.startswith('l')
s41 = s.startswith('lao')
s42 = s.startswith('N', 3, 6)
print(s42)
print(s4)
print(s41)
View Code

* swapcase 大小写翻转
s5 = s.swapcase()
print(s5)

* title() 非字母隔开的每个单词的首字母大写。
ss = 'gdsj wusir6taibai*ritian'
s6 = ss.title()
print(s6)

***通过元素找索引
index:通过元素找索引,可切片,找不到报错
find: 通过元素找索引,可切片,找不到返回-1

s = 'laoNANhai'

s7 = s.find('a')
s71 = s.find('A',2,)
s71 = s.find('Q',)
print(s71)
s72 = s.index('Q')
print(s72)
print(s71)

ss = '\talex\n'
print(ss)
View Code

*** strip 去除前后端的空格,换行符,制表符。

ss = ' ablabsexsba'
s8 = ss.strip()
print(s8)

s9 = ss.strip('a')
s9 = ss.strip('abs')
lstrip() rstrip()
print(s9)
View Code

input后必加“.strip”
username = input('请输入用户名').strip()
if username == '碗蓉':
print('登录成功')

***split str ---> list
默认以空格分割,

s = 'wusir alex taibai'
st = 'wusir,alex,taibai'
st1 = 'QwusirQalexQtaibai'
s10 = s.split()
print(s10)
s101 = st.split(',') 以‘,’分割
print(s101)
s102 = st1.split('Q',2) 以‘Q,分割,分割2个Q’
print(s102) print:['', 'wusir', 'alexQtaibai']
View Code
s = '李嘉诚王健林马化腾周杰伦'
lst = s.split('李嘉诚王健林马化腾周杰伦')#如果原字符串和刀一样得到的是两个空字符串
lst = s.split('李嘉诚王健林马化腾周杰伦222')#如果过长得到的是原字符串
lst = s.split('马云')  #如果不存在,得到的是原字符串
lst = s.split('')   #报错
print(lst)
在开头和结尾出现了刀,一定会出现空字符串
View Code

***join
在某些情况下,list --- >str

 

s = 'alex'
s11 = '+'.join(s)
print(s11) print:a+l+e+x
l = ['wusir', 'alex', 'taibai']
s111 = ' '.join(l) print:wusir alex taibai(空格分开)
print(s111,type(s111)) 检查是str
View Code

 

repalce替换

s = '小粉嫩小粉嫩ghlasdfg小粉嫩'
s12 = s.replace('小粉嫩', '大铁锤')
s12 = s.replace('小粉嫩', '大铁锤',2) (替换前两个 ) 
print(s12) print:大铁锤大铁锤ghlasdfg小粉嫩
View Code
expandtabs:更改tab的长度
s6 = 'alex wusir\teggon'
print(s6)
print(s6.expandtabs())#可以改变\t的长度,默认长度更改为8

公共方法:
len() 总个数

s = 'fdsajlskgjdsaf;jdskfsdaf'
print(len(s)) print:24
count 计算某些元素出现的个数,可切片 找不到返回0
1 = s.count('f')
print(c1) print:4
format格式化输出,
三种方式:

1,
msg = '我叫{},今年{},爱好{}'.format('太白', '20', 'girl')
print(msg)
2,
msg = '我叫{0},今年{1},爱好{2},我依然叫{0}'.format('太白', '20', 'girl')
print(msg)
3,
msg = '我叫{name},今年{age},爱好{hobby}'.\
format(name='太白', hobby='girl', age='20')
print(msg)
name='jinxin123'
View Code
format格式化输出格式:
'{}{}{}'.format('laonamhai','nan','25')
'{0}{1}{2}{0}{0}'.format('laonamhai','nan','25')
'{name}{age}{sex}'.format(name='laonanhai',sex = 'nan',age=25)
View Code

print(name.isalnum()) #判断:字符串由字母或数字组成
print(name.isalpha()) #判断:字符串只由字母组成
print(name.isdigit()) #判断:字符串只由数字组成


s = 'fdsagdsfgfdsadsaf'
s = 'alex'
print(s[100])
print(s[0])
print(s[1])
count = 0
while count < len(s):
print(s[count])
count += 1
for i in s:
print(i+'sb')
for 变量 in 可迭代对象:
pass
for是有限循环,while是无限循环

 

语法:
for 变量 in 可迭代对象:
    循环体
可迭代对象:可以一个一个往外取值的对象

 

 

 

 

练习题:

1,使用while和for循环分别打印字符串s=’asdfer’中每个元素。
s = 'asdfer'
count = 0
while count<len(s):
    print(s[count])
    count=count+1

for i in s:
    print(i)
View Code
2,实现一个整数加法计算器(两个数相加):
如:content = input(‘请输入内容:’) 用户输入:5+9或5+ 9或5 + 9,然后进行分割再进行计算。
content = input('请输入内容:')
li = content.split('+')
print(li)
print(int(li[0].strip()) + int(li[1].strip()))
View Code
3,计算用户输入的内容中有几个整数(以个位数为单位)。
如:content = input(‘请输入内容:’)   # 如fhdal234slfh98769fjdla
content = input('请输入内容:')
count = 0
for i in content:
    if i .isdigit():
        count = count + 1
print(count)
View Code

 


 

posted on 2018-05-26 19:47  liangliang123456  阅读(229)  评论(0编辑  收藏  举报

导航