二:2.1 字符串与循环中的 while

字符串:字符串是以单引号或双引号括起来的任意文本

创建字符串:

str1 = "sunck is a good man!"

str3 = "sunckis a nice man!"

 

字符串运算

字符串连接:

str6 = "sunck is a "

str7 = "good man "

str8 = str6 + str7

print("str8=",str8)

输出重复字符串

str9 = "good"
str10 = str9 * 3
print("str10=",str10)

 

访问字符串中的某个字符

通过索引下标查找字符,索引从0开始

str11 = "sunck is a good man !"

print(str11[1])

str11[1] = "a"

print("str11=",str11)---------->错误       字符串不可变

 

截取字符串中的一部分

str12 = "sunck is a good man !"

str13 = str13[6:15]    第6个字符开始截取到15    (从0开始截取,0可省略,结尾也可省略即:[:5]  [15:])

print("str13=",str13)------->  is a good   

 

判断字符串是否在字符串中

str16 = "sunck is good man!"

print("good" in str16)------------->true

 

格式化输出

print("sunck is a good man")

num = 10

print("num =",num)

print("num =%d" % (num))    %d 占位符

 

转义字符    \

将一些字符转换成有特殊含义的字符

\n  换行

\\n  输出为 \n

print('tom is a 'good' man')---------->语法错误

print('tom is a \'good\' man')--------->tom is a 'good' man

如果字符串内有很多换行,用\n写在一行不好阅读

print('''

good

nice

handsome

''')-----------------表示多行即换行

 

\t  制表符

print("sunck\tgood")--------->sunck    good(中间默认4个字符)

如果字符串中有好多字符串需要转移,就需要加入好多\,为了简化,Python允许用 r 表示内部的字符串默认不转义

print("\\\t\\")--------->\    \

print(r"\\\t\\")--------->\\\t\\

 

eval(str)

功能:将字符串str当成有效的表达式来求值并返回计算结果

num1 = eval("123")

print("num1=",num1)------->123

print(type(num1))-------> <class'int'>      (查看类型)

print(eval("+123"))------------>123

print(eval("-123"))------------>-123

print(eval("12+3"))------------>15

print(eval("12-3"))------------>9

print(eval("a123"))------------>报错

print(eval("12a3"))------------>报错

 

len(str) 返回字符串长度(字符个数)

print(len("sunck"))----------->5

 

lower()转换字符串中大写字母为小写字母

str = "suncK IS"

print(str.lower())--------->sunck is

 

upper()转换字符串中小写字母为大写字母

str = "suncK IS"

print(str.upper)--------->SUNCK IS

 

swapcase()转换字符串中小写为大写  大写为小写字母

 

capitaliza()首字母大写,其他小写

 

title()每个单词首字母大写

 

center(width[,fillchar])返回一个指定宽度的居中字符串,fillchar为填充的字符串,默认空格填充

str = "sunck is a good man"

print(str.center(40,"*"))----------------->**********sunck is a good man***********

 

ljust(width[,fillchar]) 返回一个指定的宽度的左对齐字符串,fillchar为填充字符,默认空格填充

str = "sunck is a good man"

print(str.ljust(40,"*"))------------->sunck is a good man*********************

 

rjust(width[,fillchar]) 返回一个指定的宽度的右对齐字符串,fillchar为填充字符,默认空格填充

str = "sunck is a good man"

print(str.rjust(40,"*"))--------------->*********************sunck is a good man

 

zfill(width)返回一个长度为width的字符串,原字符串右对齐,前面补0

str = "sunck is a good man"

print(str.zfill(40))--------------->000000000000000000000sunck is a good man

 

count(str[,strat][,end]) 返回字符串中str出现的次数,可以指定范围,默认从头到尾

str = “sunck is a good good man”

print(str.count("good"))------->2

 

find(str[,strat][,end])从左向右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。得到的是第一次出现的开始下标,没有则返回 -1

str = "sunck is a good man"

print(str.find("good"))------------>11

print(str.find("good",0,16))------->11

 

rfind(str[,strat][,end]) 从右向左检测  

 

index(str,strat=0,end=len(str))  从左向右检测   和find()相同   只是查找不到后会报错

rindex(str,strat=0,end=len(str))  从右向左

 

lstrip()截掉字符串左侧指定的字符。默认为空格

str = "      sunck is a good man"

print(str.lstrip())----------->sunck is a good man

str = "***********sunck is a good man"

print(str.lstrip("*"))----------->sunck is a good man

 

rstrip()截取字符串右侧指定的字符,默认为空格

strip()截取字符串两侧指定的字符,默认为空格

 

 

while 语句:

格式:

while 表达式:

        语句

逻辑:当程序执行到while语句时,首先计算"表达式"的值,如果“表达式”的值为假,结束整个while语句。

如真,则执行”语句“,执行完语句再去计算表达式的值,如果表达式的值为假,结束整个while语句。如果“表达式"的值为真,则执行"语句”执行完语句再去计算表达式的值,如此循环往复,知道表达式的值为假才停止。

num = 1

while num <=5:

    print(num)

    num+=1

输出为1 2 3 4 5

 

计算1+2+3+4+5+.......+100

sum = 0

num = 1

while num<=100:

    sum +=num

    num += 1

   print("sum = %d“ %(sum))

输出为sum=5050

 

str = "sunck is a good man”

index = 0

whlie index < len(str):

    print("str[%d] = %s" % (index, str[index]))

    index += 1

输出为:str[0] = s  str[1] = u.......................

 

posted @ 2019-03-14 19:40  FlawlessM  阅读(230)  评论(0编辑  收藏  举报