12-27 day4获取字符,字符串相关运算,格式字符串,类型

2018-12-27  本文已影响0人  ychaochaochao

1.getchar --获取字符

1.获取单个字符

result = 'how are you!'[0]  #获取字符中下标是0的字符并赋值给变量result
print(result)   #h
print('how are you!'[-4])  #y

print('how are you!'[14]) #IndexError: string index out of range 下标越界

str1 = 'good good study!day day up!'
print(str1[10],str1[-2])  #s p

2.获取部分字符(字符串切片)

方法1.

str1 = 'hello python!'
print(str1[0:-1:2])     #hlopto
print(str1[0:10:-2])    #null,结果为空
print(str1[-1:0:-2])    #!otpol
print(str1[-1:-10:2])   #null
print(str1[-1:-100:-2]) #!otpolh,结束下标越界
print(str1[100:-100:-2])#!otpolh,下标越界

#练习:获取一个字符串中所有下标是奇数的字符(顺序)
print(str1[1:100:2])   #el yhn

方法二:(省略步长)

字符串[开始下标:结束下标] -- 步长是1,从开始下标到结束下标为止,一个一个的取

print('when i was young '[2:6]) #en i

方法三:(省略开始下标和结束下标)

print('when i was young '[:6])   #when i
print('when i was young!'[:6:-1]) #!gnuoy sawprint('when i was young!'[:6:-1]print('when i was young!'[:6:-1])
print('when i was young!'[0:])  #when i was young!
print('when i was young!'[:]) #when i was young!
print('when i was young!'[::-1])   #!gnuoy saw i nehw  字符串倒序


2.字符串相关运算

1.字符串支持的运算符: +, *, >, <, ==, <=, >=, !=

new_str = 'abc' + '123'
print(new_str)  #abc123

name = '张三'
message = '吃饭了吗'
print(name + message + '?')  #张三吃饭了吗?

str1 = 'abc'
print(str1 * 3)  #abcabcabc

应用
1.判断是否是小写字母:
‘a’<=char<='z'(只有Python支持这种写法。Pythonnb.) --> char>= ‘a’< and char<='z'

print('abc'=='abc')  #True
print('abc'=='bac')  #False

print('dcb' > 'abcde')  #True

2.判断一个字符串中第三个字符是否是字母

str2 = 'sa1hif329'
char = str2[2] #取出第三个字符
print('是否是字母','a'<=char<='z' or 'A'<=char<='Z')  #是否是字母 False
print('是否是中文','\n4e00' <= char <= '\n9fa5')      #是否是中文 False

2. in 和not in 操作

字符串1 in 字符串2 -> 判断字符串1是否是字符串2的子串
字符串1 not in 字符串2 -> 判断字符串1是否不是字符串2的子串

print('abc' in 'helloabc')  #True
print('abc' in 'ahellobc')  #False ,顺序必须相同
print('abc' not in 'helloabc')  #False
print('abc'not in 'ahellobc')  #True

3. len函数、

len(序列) - 获取序列长度,获取序列中元素的个数
len(字符串) - 获取字符串的长度,就是字符的个数

print(len('ashfov')) #6

str1=input('请输入:')    #输入abcd
last_char =str1[len(str1)-1]   #最后一个字符
print(last_char)           #d

str1='  abc'
str2='\tabc'
print(len(str1),len(str2)) #5 4  本机设置的一个tab是2个空格


3.formstring 格式字符串

1.什么是格式字符串

2. 语法:

包含占位符的字符串%(值1,值2,值3,···)

3 说明:

name = input('姓名:')
age = 18
sex = '男'
message = '我叫%s,今年%d,性别%s,月薪%.1f万'%(name,age,sex,1.5)
print(message)
str1 = input('请输入一个字符串:')
length = len(str1)
char = str1[len(str1)-1]
message ='%s的长度是%d,最后一个字符是%s'%(str1,length,char)
print(message)


4.typeconversion 类型转换

1、基本语言

2.转换实例

int(数据) -> 将其他数据转换成整型
float(数据) -> 将其他数据转换成浮点型
bool(数据) -> 将其他数据转换成bool型
str(数据) -> 将其他数据转换成字符串

 age=input('年龄:')
 print(type(age),age)
 print('是否能进入网吧',int(age) >= 18)

1.转换成整型

a = int(12.8) #12  浮点数可以转换成整数,直接保留整数部分
b = int(True)   #bool可以转换成整数,True->1 ,Fasle->0
c = int('12')    #只有去掉字符串的引号后本身就是一个整数的字符串才能转化成整型
print(a,b,c)

2.转换成浮点型

a = float(100)   #所有的整数都可以转换成浮点数,在后面加.0
b = float(True) #所有的bool都可以转换成浮点数,True->1.0  False->0.0
c = float('12.9') #去掉字符串的引号后本身就是一个数字的字符能转化成浮点型
print(a,b,c)

3.转换成布尔类型

a = bool(0)
b = bool(0.0)
c = bool('')
d = bool ([])
e = bool({})
f = bool(None)
print(a,b,c,d,e,f)  #False False False False False False

4.转换成字符串类型

num1 = input('输入3个数字')
num2 = input()
num3 = input()
print('三个数字的和是:',float(num1)+float(num2)+float(num3))

未完待续。。

上一篇 下一篇

猜你喜欢

热点阅读