当前位置: 代码迷 >> 综合 >> Python基础教程(字符串和元组(tuple))
  详细解决方案

Python基础教程(字符串和元组(tuple))

热度:72   发布时间:2023-12-08 18:41:31.0

1.字符串可以通过相加的方式连接为一个字符串

2.占位符

格式化字符 转换方式

%c 转换成字符

%s 优先用dtr()函数进行字符串转化

%d /%i 转成有符号十进制数

%f 转成浮点数

测试题:输出终端

#!/usr/bin python
#encoding:utf-8#**************************************#
#     Author     :wang                 #
#     Email      :wang@qq.com          #
#     Version    :                     #
#     Create_Date:2017-12-23 20:44:47  #
#     Description:                     #
#                                      #
#**************************************#print """
*******************************************************显示命令行提示符
*******************************************************
"""
tip = "[root@desktop /]#"                   #定义tip字符串
def test(tip):while True:cmd = raw_input(tip).strip()    if cmd == "quit":           #输入为quit退出break                elif cmd != "":             #输入为非空    print "run %s"%(cmd)#输出run cmdcontinueelse: continue              #输出为空继续循环
def main():test(tip)
if __name__=="__main__":main()

测试题:乘法口诀表

 

#!/usr/bin python
#encoding:utf-8#**************************************#
#     Author     :wang                 #
#     Email      :wang@qq.com          #
#     Version    :                     #
#     Create_Date:2017-12-23 21:43:48  #
#     Description:                     #
#                                      #
#**************************************#print """
*******************************************************乘法口诀表
*******************************************************
"""
h="%d*%d=%2d  "  #字符串h为打印乘法口诀表的格式
def ChengFaBiao():for i in range(1,10):   #i是乘法口诀表第一个数count = 0       #count记录循环次数,口诀表三角性for j in range(1,10):    #j是乘法口诀表第二个数if i-count != 0: #如果循环次数不超过改行要显示的字符串数print h%(i,j,i*j), #显示字符串逗号表示统一行显示else:            #超过改行显示字符串数print    #输出空表示换行break	 #退出内嵌for循环,开始下一行显示count +=1        #循环次数加一
def main():	#定义主函数ChengFaBiao() #调用ChengFaBiao()函数
if __name__=="__main__":  #调用py库main()            #执行主函数
"""方法二
for i in range(1,10):for  j in (1,i+1):print "%d*%d=%2d "%(i,j,i*j),print
"""

3.索引

获取特定偏移的元素,给出一个字符串,可输出任意一个字符,如果索引位负数,就是相当与从后向前数。

可以通过切片的方式获取字符串的一部分内容,语法为:s[start:stop:step],start为索引开始的地方,stop为结束的地方,step为步长。

测试:字符串反转

 

 

#!/usr/bin python
#encoding:utf-8#**************************************#
#     Author     :wang                 #
#     Email      :wang@qq.com          #
#     Version    :                     #
#     Create_Date:2017-12-23 22:57:44  #
#     Description:                     #
#                                      #
#**************************************#print "*"*40
print "           字符串反转             "
print "*"*40
while True:a = raw_input("请输入字符串: ")print "反转字符串为:%s"%(a[::-1])s = raw_input("是否继续(y/n): ")if s == "n":break

4.字符串常用方法

【1】判断开头:s.digit(),

【2】判断结尾:s.endswith(“”)

【3】判断由什么组成:s.startswith(“”)

【4】去除字符串左右的空格(主要用于在用户有输入的地方):s.strip(),s.lstrip(),s.rstrip()

【5】字符串格式化对齐:左对齐,右对齐,中间对齐:s.ljust(40,”*”),s.rjust(40,”*”),s.center(40,””)

注:括号第一项数字位字符串占用长度,第二项位字符串填充字符。

【6】字符串指定字符替换:s.replace(需要转换的字符,转换后的字符)

【7】字符串分片:s.split(“以什么为界进行分割”)

【8】枚举:enumerate(s)该函数返回字符串各字符的值和索引

 

 

5.元组(带了紧箍咒的列表)

【1】元组的创建

通过赋值方式创建元组:t = (1, 1.0, 2j, True, (1,2,3))

通过工厂方法创建元组:t = tuple()

注:定义单个元组,一定要在这个元素后面加逗号如t1 = (1,)

【2】元组的操作

索引及切片:同字符串

连接:s1+s2

重复:s1*3重复三遍

成员操作符:

allow_ips = ('172.25.254.1', '172.25.254.12', '172.25.254.13')

if "172.25.254.1" in allow_ips:

        print "有访问权限"

else:

        print "无访问权限"

元组嵌套时元素的访问

逆转元组元素:同字符串

【3】元组可用的内置方法

比较两个元组是否相等:

print cmp(('a', 1,2,3,4), (1, 2,))

求元组中的最大值:

print max((12,34,12,56))

求元组中的最小值:

print min((12,34,12,56))

【4】枚举

测试 自动售货系统部分代码

#!/usr/bin python
#encoding:utf-8#**************************************#
#     Author     :wang                 #
#     Email      :wang@qq.com          #
#     Version    :                     #
#     Create_Date:2017-12-24 03:50:41  #
#     Description:                     #
#                                      #
#**************************************#print "#**************************************#"
print "               商店"
print "#**************************************#"
goods = (("apple",3),("ipad",2),("iwatch",12)
)
print "商品编号\t商品名称\t商品价格"
for i,v in enumerate(goods):print "%3d\t\t%s\t\t%.2f"%(i,v[0],v[1])

 

【5】元组的常用方法

 

求元组中1出现的次数:t.count(1)

求元组t中第一次出现1时的索引:t.index(1)