Python学习练习(1)

初学Python的时候写的呀! 对列表元组字符串的操作。

列表操作1

有一列表:lst=[1,12,23,4,5,16,7,8,49,10]

  • 通过列表lst得到一个新的列表 lst2=[1, 12, 23, 4, 5, 16, 32, 23, 54, 34]
  • 对lst2列表按照从小到大的顺序进行排序
  • 查找到列表lst2中16的索引,并在该处插入 一个新值17
  • 删除列表中的17
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
lst=[1,12,23,4,5,16,7,8,49,10]
lst2=lst[:6]
lst2.append(32)
lst2.append(23)
lst2.append(54)
lst2.append(34)
print("lst2=",lst2)
lst2.sort()
print("对lst2列表按照从小到大的顺序进行排序:\n",lst2)
index=lst2.index(16)
print('lst2中16的索引为:',index)
lst2.insert(index,17)
print("在该处插入 一个新值17:\n",lst2)
lst2.remove(17)
print("删除列表中的17:\n",lst2)

元组

有一个学生信息的元组: student=((‘zhang san’,‘1140610000’),(‘li si’,‘1140610001’),(‘wang wu’,‘1140610002’),(‘lao liu’,‘1140610003’))

  • 打印出名字为:‘wangwu’的学生。
  • 求元组的长度
1
2
3
4
5
6
7
8
9
student=(('zhang san','1140610000'),('li si','1140610001'),('wang wu','1140610002'),('lao liu','1140610003'))
x=0
for i in student:
    x+=1
    for l in i:
        if(l=='wang wu'):
            wangwu=student[x-1]
print(wangwu)
print(len(student))

列表操作2

下面为一个学生的信息的列表,包括学生姓名和学号 student=[[‘zhang san’,‘1140610000’],[‘li si’,‘1140610001’],[‘wang wu’,‘1140610002’],[‘lao liu’,‘1140610003’]]

  • 从终端输入一个学生的姓名和学号,判断输入的学生姓名和名字是否在这个列表中,如果存在就输出该用户名和学号,如果不存在就输出:你输入的名字不正确,请重新输入。
  • 在列表末尾新加一个学生的信息:名字为你的名字(拼音),学号为你的学号,将增加后的student列表打印出来。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
student=[['zhang san','1140610000'],['li si','1140610001'],['wang wu','1140610002'],['lao liu','1140610003']]
stu=input("输入姓名和学号:")
x=0
flag=0
for i in student:
    x+=1
    for l in i:
        if(l==stu):
            stu1=student[x-1]
            print(stu1)
            flag=1
            break
if(flag==0):
    stu=input("你输入的名字不正确,请重新输入.")
my=['li kin','0609']
student.extend([my])
print(student)

字符串操作

从键盘输入以下字符串: ' I AM a BIG big girl in a BIG big world It is not a Big big thing if you leave me But I DO do feel ' 1、将字符串中的大写变为小写。 2、计算字符串中子串(big)出现的次数 3、将字符串中的big替换为small

1
2
3
4
str='I AM a BIG big girl in a BIG big world  It is not a Big big thing if you leave me But I DO do feel'
print(str.lower())
print(str.count('big'))
print(str.replace('big','small'))

字符串排序

从键盘输入以下三行字符串: str1: ‘with a moo-moo here’ str2: ‘monty python is flying circus’ str3: ‘Trondheim hammer dance’ 比较字符串str1、str2、str3的大小,按照从小到大的顺序排序

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
str1='with a moo-moo here'
str2='monty python is flying circus'
str3='Trondheim hammer dance'
temp=[str1,str2,str3]
for i in range(len(temp)-1):   
    for j in range(len(temp)-i-1):  
        if temp[j] > temp[j+1]:
            temp[j], temp[j+1] = temp[j+1], temp[j]
print(temp)
temp1=[str1,str2,str3]
temp1.sort()
print(temp1)

字符串判断

有以下几个字符串: ‘Monday’, ‘Tuesday’, ‘Wednesday’, ‘Thursday’, ‘Friday’,‘Saturday’, ‘Sunday’. 从键盘上输入其中一个字符串的第一个字母判断是输入的哪个字符串, 如:输入M,输出为:Monday。如果第一个字母一样,则继续判断第二个字母。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import re
str="Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday"
week=input("输入一个字母:")
list=re.findall(r'%s(.+?)y'% week,str)
x=0
if(len(list)==2):
    week2=input("输入第二个字母:")
    for i in list:
        x+=1
        if(week2==i[0]):
            print(week+list[x-1]+'y')
elif(len(list)==1):
    print(week+list[0]+'y')
else:
    print("不存在该字符串!")

字符统计

输入下面字符串: ‘python_1.2abc332-234522end’ 分别统计出其中英文字母、空格、数字和其它字符的个数。 1.相关模块string. 2.相关函数isalpha()、isspace()、isdigit() 3.迭代for..in..

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import re
str='python_1.2abc332-234522end'
x=len(re.findall(r'[a-zA-Z]',str))
y=str.count(' ')
z=len(re.findall(r'[0-9]',str))
o=len(str)-x-y-z
print("其中英文字母的个数为:")
print(x)
print("其中空格的个数为:")
print(y)
print("其中数字的个数为:")
print(z)
print("其中其他字符的个数为:")
print(o)
list1=[]
for i in str:
    if i.isalpha():
        list1.append(i.isalpha())
print(len(list1))
list2=[]
for i in str:
    if i.isspace():
        list2.append(i.isspace())
print(len(list2))
list3=[]
for i in str:
    if i.isdigit():
        list3.append(i.isdigit())
print(len(list3))
print(len(str)-len(list1)-len(list2)-len(list3))