Python Day 6

python 4

用于字符串的序列函数

len(s)  返回序列的长度

max(s)  返回序列的最大值元素

min(s)  返回序列的最小值元素  # 字符串比的都是unicode 值大小

例:

s = 'abc123'

print(len(s))  # 6

print(max(s))  # c

字符串编码的转换函数:

ord(str)  返回一个字符的unicode 值 # 只能显示单个字符的值

chr(i)    返回一个unicode 值对应的字符

整数转为字符串函数:

hex(i)  将整数转换为十六进制的字符串

oct(i)  将整数转换为八进制的字符串

bin(i)  将整数转换为二进制的字符串

字符串构造函数:

str(obj='')  将对象转换为字符串

str(0x64)    # '100'

计算机默认转成十进制字符串

练习1:

写一个程序,输入一个字符串,如果字符串不为空,则把第一个字符的编码打印出来

练习2:

写一个程序,输入一个整数值(0-65535),打印出这个数值所对应的字符

python3 中常用的字符串方法(method):

字符串的方法调用语法:

对象.方法名(方法传参)

示例:

'abc'.isalpha()  #语法是对的

123.isalpha()    #语法是错的

假设字符串变量名为S

常用字符串的方法,如下:

S.isdigit()        判断字符串是否为全数字

S.isalpha()        判断字符串是否全为英文字符

S.islower()        判断字符串是否为小字英文字符

S.isupper()        判断字符串是否为大字英文字符

S.isspace()        判断字符串是否全为空白字符

S.center(width[,fill])    s.center(4,"-")

将字符串居中,左右默认填充空格

S.count(sub[,start[,end]]) s.count("to")  s.count('o',2)

获取字符串中的子串个数

S.find(sub[,start[end]])

获取字符串中子串sub的索引,失败返回-1

S.strip()          返回去掉左右空白字符的字符串

S.lstrip()        返回去掉左侧空白字符的字符串

S.rstrip()        返回去掉右侧空白字符的字符串

S.title()          生成每个英文单词首字母大写的字符串

S.upper()          生成将英文转换为大写的字符串

S.lower()          生成将英文转换为小写的字符串

S.replace(old,new[,count])    将字符串old用代替生成新的字符串

空白字符指的是空格,水平制表符(\t),换行符(\n)等不可见字符

练习:

输入一个字符串,判断这个字符串中有几个空格

字符串格式化表达式:

作用:

生成一定格式的字符串

运算符:

%

语法:

格式字符串%参数值

格式字符串%(参数值1,参数值2,....)

说明:

格式化字符串中以%开头为占位符,占位符的位置将用参数值替换

例:

fmt = 'name: %s, age: %d'

name = 'jinchen'

age = 35

print(fmt % (name,age))

格式化字符串中的占位符:

%s  字符串

%r  字符串(使用repr而不是str)

%c  整数转为单个字符

%d  十进制整数

%o  八进制整数

%x  十六进制整数(字符a-f小写)

%X  十六进制整数(字符A-F大写)

%e ,%E 指数表求得浮点数

%f ,%F 浮点小数

%g ,%G 十进制形式的浮点数或指数浮点数自动转换

%%  等同于一个字符'%'

占位符% 和类型码之间的格式语法

-  左对齐

+  右对齐

0  补零

width  宽度(整数)

pricision  精度(整数)

“%10d" % 123      # '      123'

%和d之间加一个十进制,表示宽度为10的字符

“%010d" % 123    # '0000000123'

%和d之前加一个0,表示宽度为10的字符前边用0 补全

“%-10d" % 123    # '123      '

%和d之前加一个-,表示宽度为10的字符左对齐

“%+10d" % 123    # '      123'

%和d之前加一个+,表示宽度为10的字符右对齐

对于整型数可以补零,字符串不可以如%10s 就是空格补齐而不是零

"%7.3f" % 3.141594654215321

这个精度就是,整个字符为7位,取小数点后第3位

循环语句:

while  语句

for in 语句

while 语句:

作用:

根据一定的条件,重复的执行一个语句或多条语句

语法:

while  真值表达式:

语句1

...

else:

语句2

...

说明:

1.先执行真值表达式,测试布尔值为True还是False

2.如果真值表达式值为True则执行语句1,然后再回到第一步,重复进行测试

3.如果真值表达式为False则执行语句2,然后结束此while语句执行,如果没有else,子句则直接结束此while语句的执行

4.else子句部分可以省略

示例:

# 打印1-20的整数

n = 1

while n <= 20:

print(n)

n = n + 1

else:

print('end')

练习:

用while语句控制打印hello world 的行数

输入一个数n,打印n行

2. 输入一行字符串,将字符串中编码值最大的一个打印出来

while 语句嵌套

嵌套示意:

while 真值表达式:

...

while 真值表达式2:

...

else:

...

...

else:

...

例:

i = 1

while 1 < 5:

j = 1

while j < 3:

print('%d + %d = %d' % (i, j, i + j))

j += 1

i += 1

print('程序结束')

练习:

输入一个整数用变量n绑定,求1+2+3+4+5+n的和

验证:如果n = 1 结果为5050

s = int(input("请输入一个整数:"))

a = 0 # 让一个变量置空

i = 1

while i <= s:

a = a + i  #将以前的值和当前的值累加放回原处

# print(i)

i = i + 1

print('1+2+3+4+...+%d = %d' % (s, a))

break 语句:

作用:

用于循环语句中(while,for语句中),用来终止当前循环语句的执行

语法:

break

说明:

通常和if语句组合使用,当break语句执行后,此循环语句break之后的语句将不再执行

break语终止循环,循环语句的else子句将不会被执行

break语句只能终止当前循环语句的执行,如果有循环嵌套时,不会跳出嵌套的外重循环

n = int(input('请输入一个整数:'))

while n <100:

print(n)

if n == 5:

break

n += 1

else:

print('while语句有误,结束')

死循环:

死循环是指条件一直成立的循环

死循环通常用break来终止

死循环的else不会执行

练习:

1.打印1-20的整数,在一行显示,每个数字之间用一个空格分隔

1 2 3 4 5 6 ... 20

2.打印1-20的整数,每行五个数字,打印四行

1 2 3 4 5

6 7 8 9 10

...

提示:可以用print(n,sep='',end=' ')

3.输入一个正整数用变量n 绑定

已知 0 + 1 + 2 + ... + x < n

求x 的最大数

4.用程序生成如下字符串:

'ABCD......XTZ'

'AaBbCc....YyZz'

name = 'jinchen'

password = '123456'

while True:

n = input('请输入用户名:')

p = input('请输入密码:')

if name == n and password == p:

break

else:

print('输入有误,请从新输入')

print('登陆成功')

a = 1

while a <= 20:

print(a,end=' ')

a += 1

a = 1

while a <= 20:

if a % 5 ==0:

print(a)

else:

print(a,sep='',end=' ')

a += 1

n = int(input('请输入一个正整数:'))

x = 0

a = 0

while x < n:

x += 1

a += x

if a >= n:

break

b = x

print(b)

x = 65

while x <= 90:

b = chr(x)

x += 1

print(b,end='\0')

x = 65

q = 97

while x <= 90 and q <= 122:

b = chr(x)

c = chr(q)

x += 1

q += 1

d = b + c

print(d,end="\0")

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容