字符串 列表 基本语法练习

#注意运行过程

a=1234
b=0
while a>0:
    b=b*10+a%10
    a//=10
print(b)

#字符串

a='123'
print(a)
a='12\'3'#里面的引号可见 \ 代表转移字符
print(a)
a='123"4"'
print(a)

#快捷符号

a='1\t2'#一个teb键
print(a)
a='1\n2'#换行
print(a)
a='1\f2'#一个空格
print(a)
a='\\'#输出一个'\' 一个\ 代表转移
print(a)

#下标

a='qwert'
print(a[0])
print(a[1])
print(a[-1])
print(a[0:5])
print(len(a))#字符串的长度
print(a[len(a)-1])#先算len()-1

#下标拓展

a='abcdef'
s=0
while s<len(a):
    print('第%d个字符是%c'%(s+1,a[s]))#%c代表字符 s+1 第几个字符而不是下标。
    s+=1

#将a b的值调换,引入一个新的变量

a=1
b=2
c=a
a=b
b=c
print('a=',a)
print('b=',b)

#简化

a=1
b=2
a,b=b,a#将b,a的值按顺序赋予给前面
print('a=',a)
print('b=',b)

#切片

a='qwe123asd'
print(a[3:6])#区间左开右闭

#调换字符

a='qwe'#字符串是不可更改,内容不可更改。
a[0]='1'
print(a)

下标的拓展

a='123456789'
print(a[2:8:2])#[起始(下标):结束(下标):步长]
print(a[3:])#规定了起始,没有规定结束 就直接到最后
print(a[:3])#与上述相反
print(a[-1])#倒着数
print(a[::-1])#将语句倒着输出
print(a[::2])#2为步长值 包括2也就是两个字符间隔一个
print(a[::3])#3为步长值 包括3也就是两个字符间隔二个

#循环 倒着输出

a='123456789'
i=-1
while i>-len(a)-1:
    print(a[i])
    i-=1
#2
a='123456789'
i=len(a)-1
while i>=0:
    print(a[i])
    i-=1

函数

a='123456789'
i=a.find('123')#找到 并将第一个字符的下标输出
print(i)
i=a.find('12333')#找不到 输出为-1
print(i)
i=a.index('12')#和find一样 ,但是在找不到时 会直接报错。
print(i)

#计数【函数】

a='112233123'
i=a.count('1')
print(i)

#替换【函数】

a='qwe123zxc'
print(a.replace('qwe','asd'))#将qwe替换为asd

#切片【函数】

a='qwe-123-zxc'
b=a.split('-')#全切
s=a.split('-',maxsplit=1)#切一次
print(b)
print(s)

#大写【函数】

a='qw'
print(a.capitalize())#将第一个字符大写
#将每个字符的首字母大写
a='q you er rang'
print(a.title())

#【判定以什么开始或结束】

q='中国 河南'
print(q.startswith('中'))
print(q.endswith('南'))

#大小写转换【全部】

a='qweASD'
print(a.lower())
print(a.upper())

#去空格【函数】

a='  qwe   '
print(a.strip())#全部
print(a.lstrip(),end='$')#左边
print()#换行
print(a.rstrip())#右边

#【将字符串分开】

a='12-23-23'
print(a.partition('-'))#只分一次 而且 包括'-'

#按行分割【】

a='123\nqwe\nasd'
print(a.splitlines())
print(a.split('\n'))#两个一样

#判定是否都为字母【是:True 否:false】

a='qwe'
print(a.isalpha())
a='a1'
print(a.isalpha())

#判定是否都为数字【是:True 否:false】

a='123'
print(a.isdigit())
a='q12'
print(a.isdigit())

#判定是否全为数字或字母【是:True 否:false】

a='123'
print(a.isalnum())
a='q1。1'
print(a.isalnum())

#列表

a=[1,2,3,4,'s']
print(a[0])
print(a[3])
print(a[-1])
print(a[1:5])

#列表可以进行修改

a=[1,2,3,4]
a[0]=26#将下标对应的元素修改
print(a)
a.append(99)#在此列表的最后追加
print(a)
a.insert(0,88)#在下标为0的位置插入88
print(a)
a.insert(3,67)#在下标为3的位置加入67
print(a)
del a[3]#删除下标为3的元素
print(a)
print(len(a))#测出列表的元素个数

#分别读出列表中的元素

a=[1,2,3,4]
i=0
while i<len(a):
    print('第%d个元素为%d'%(i+1,a[i]))
    i+=1

#列表的切片

a=[1,2,3,4,5,6,7,8,9,10]
c=a[1:7:2]
print(c)
start=int(input('请输入起始值:'))
end=int(input('请输入结束值:'))
bc=int(input('请输入步长值:'))
b=a[start:end:bc]
print(b)

#循环 切片

a=[1,2,3,4,5,6,7,8,9,10]
start=int(input('请输入起始值:'))
end=int(input('请输入结束值:'))
bc=int(input('请输入步长值:'))
i=start#从起始值开始
while i<end:#判定 到结束值为止
    print(a[i],end='  ')#end=‘’不换行
    i+=bc#步长
for i in range(start,end,bc):
    print(a[i],end='  ')

#for 的运用

a=[1,2,3,4,5]
for i in a:
    print(i)#输出a中的元素
#提取字符串中元素,并且计算字符串中不同种类字符的数量。
a='asd123_we67'
i=0
zm=0
sz=0
xhx=0

while i<len(a):
    if a[i]>='a' and a[i]<='z' or a[i]>='A' and a[i]<='Z':#and的优先级大于or的优先级。
        print('第',i,'个位置为字母',a[i])
        zm+=1
    elif a[i]>='0' and a[i]<='9':
        print('第',i,'个位置为数字',a[i])
        sz+=1
    elif a[i]=='_':
        print('第',i,'个位置为下划线',a[i])
        xhx+=1
    i+=1
print('字母个数',zm)
print('s数字个数',sz)
print('下划线个数',xhx)

#用for循环提取字符串中元素,并且计算字符串中不同种类字符的数量。

a='asdAEW123_we67A_'
dzm=0
xzm=0
zm=0
sz=0
xhx=0
n=1
for i in a:
    if 'a'<=i<='z':
        print('第',n,'小写字母',i)
        xzm+=1
        zm+=1
    elif 'A' <= i <= 'Z':
        print('第',n,'大写字母', i)
        dzm += 1
        zm += 1
    elif '0'<=i<='9':
        print('第',n,'数字',i)
        sz+=1
    elif i=='_':
        print('第',n,'下划线',i)
        xhx+=1
    n+=1
print('小字母个数',xzm)
print('大字母个数',dzm)
print('字母个数',zm)
print('数字个数',sz)
print('下划线个数',xhx)

#扩展【函数】

a=[1,2,3]
b=['q','w','e']
a.extend(b)#将b中的元素扩张到a中。
print(a)
print(b)

#判定元素是否在列表中

a=[1,2,3]
if 3 in a:
    print('3在a里面')
if 4 not in a:
    print('4不在a里面')

#扩展

a=[1,2,3]#集合
b='qwe'#集合
a.extend(b)
print(a)#因为列表和字符串都为集合,所以qwe是分开的元素。而不是一个整体的元素(qwe)

#删减【函数】

a=[1,2,3,4,5]
a.pop()#弹出最后一个
print(a)
a.pop(3)#弹出下标对应的元素。
print(a)
a.remove(1)#弹出元素本身。()里的为元素。
print(a)

#排序【函数】

a=[1,2,3,8,4,5,5]
a.sort()
print(a)
a.sort(reverse=True)#从大到小排序
print(a)

#倒序输出

a=[1,2,3,8,4,5]
i=0
j=len(a)-1
while i<j:
    t=a[1]
    a[i]=a[j]
    a[j]=t
    i+=1
    j-=1
print(a)

#拓展练习 类似传送带

import time
a=[1,2,3,4,5]
while True:
    t=a[0]
    i=0
    while i<len(a)-1:
        a[i]=a[i+1]
        i+=1
    a[len(a)-1]=t
    print(a)
    time.sleep(1)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值