###################实验一python代码作业###################
1.print语句
print('''@@@@@@@@@@@@@@@   @@@@@@@  @  @@@@@  @@@  @@@@@  @  @@@@@@@   @@@@@@@@@@@@@@@
''')print('''++++++++++++         ++++++++++++
''')print('''学python,来传智播客黑马程序员学python,来传智播客黑马程序员学python,来传智播客黑马程序员学python,来传智播客黑马程序员
''')2。input语句
import math
a=float(input("请输入边长a: "))
b=float(input("请输入边长b:  "))
c=a**2+b**2
d=math.sqrt(c)
print("%.2f"%d)a=float(input("请输入a:"))
b=float(input("请输入b:"))
a,b=b,a
print("输出第一个数",a)
print("输出第二个数",b)a=float(input('请输入a: '))
b=float(input('请输入b: '))
c=float(input('请输入c: '))
d=a+b+c
e=d/3
print("和为:%.2f"%d)
print("平均值为:%.2f"%e)import math
a =float(input("请输入边长a:"))
b = float(input("请输入边长b:"))
c = float(input("请输入边长c:"))
d= (a+b+c)/2
s = math.sqrt(d*(d-a)*(d-b)*(d-c))
print("三角形的面积是:{:.4f}".format(s))import math
benjin=float(input('请输入本金:'))
ratio=float(input('请输入年利率:'))
years=int(input('请输入年数:'))
f=benjin*math.pow((1+ratio/100),years)
print('本金利率和为:{:.2f}'.format(f))import math
r=float(input("请输入球的半径R:"))
s=4*math.pi*r**2
v=4/3*math.pi*r**3
print(str.format("球的表面积为:{0:2.2f},体积为:{1:2.2f}",s, v))import math
a=float(input("请输入二次项的系数a:"))
b=float(input("请输入一次项的系数b:"))
c=float(input("请输入常数项c:"))
d=math.sqrt(b**2-4*a*c)
x1=(-b+d)/(2*a)
x2=(-b-d)/(2*a)
print(f"方程{a}x*x{b}*x{c}=0的解分比为{x1},{x2}")
print(str.format("方程x*x-10*x+16=0的解分比为:{0:2.1f},{1:2.1f}",x1,x2))import datetime
name=input("请输入您的名字:")
date=int(input("请输入您的出生年份:"))
year=datetime.date.today().year
age=year- date
print(f"{name}的当年的年龄为{age}岁")import math
a=float(input("请输入直角三角形的直角边(A>0): "))
b=float(input("请输入直角三角形的直角边(B>0): "))
c=math.sqrt(a*a+b*b)
d=a+b+c
s=1/2*a*b
A=round((math.asin(a/c))*180/math.pi,0)
B=round((math.asin(b/c))*180/math.pi,0)
# print(f"直角三角形三边分别为:a={a},b={b},c={'%.1f'%c}")
print(f"直角三角形三边分别为:a={a},b={b},""c={0:.1f}".format(c))
print("三角形的周长=""{0:.1f}".format(d) ,"面积=""{0:.1f}".format(s))
# print(str.format("三角形两个锐角分别为;{0:2.1f},{1:2.1f}",A,B))
#print(f"三角形两个锐角分别为:""{0:.1f}".format(A),"和","{0:.1f}".format(B))
print(str.format("三角形两个锐角分别为:{0:2.1f} 和 {1:2.1f}", A, B))a=int(input("请输入一个三位自然数a:"))
baiwei=a//100
shiwei=(a-baiwei*100)//10
gewei=a-100*baiwei-10*shiwei
print('a的百分位为:',baiwei,'十位数为:',shiwei,'个位数为:',gewei)
print(f"a百分位为 :{baiwei} 十位数为:{shiwei} 个位数为:{gewei}")a=int(input("请输入一个任意大的自然数a:"))
sum=0
while(a!=0):b=ab=b%10sum+=ba=a/10-b*0.1
print("各个位数之和为:",sum)a=str(input("请输入一个任意大的自然数a:"))
sum = 0
for n in a:sum += int(n)
print("各个位数之和为:",sum)a=set(input("请输入集合a:"))
b=set(input("请输入集合b:"))
binji=a|b
jiaoji=a&b
chaji=a-b
print("并集:",binji, "交集:",jiaoji, "差集:",chaji)a=int(input("输入一个自然数:"))
print('它的二进制数为{}'.format(bin(a)))
print('它的八进制数为{}'.format(oct(a)))
print('它的十六进制数为{}'.format(bin(a)))

实验一自我总结:

知识点(书+自我查询+自我捣鼓):
eval()函数简介:
在Python中eval()函数的语法格式为eval(expression, globals=None, locals=None),注意后面还有globals参数和locals参数。eval()函数用于执行一个字符串表达式,并且返回该表达式的值。eval函数非常的方便,我们可以使用一行代码就实现计算器的功能print(eval(input(‘请输入’)))。但是因为它具有可以将字符串转成表达式执行的特性,所以它也就可以去执行系统命令。这样很容易被别有用心的人用来执行系统命令,删除关键系统文件。
math.sqrt()函数:开根号
(1) 格式化字符串%(值1,值2)
print( “学生人数%d,平均成绩%2.1f”%(15,81.2))
(2) 字符串.format(值1,值2,…)
print(“学生人数{},平均成绩{}”.format(15,81.2))
(3) str.format(格式字符串1,值1,值2,…)
print(str.format(“学生人数{0},平均成绩{1:2.1f}”,15,81.2))
(4)f’{ <optional !s, !r, or !a> } ’
pritn(f’The price of this book is {price}‘)
print(f"直角三角形三边分别为:a={a},b={b},c={’%.1f’%c}")
math.pow(底数x,指数y)
round(asin(sinA)*180/pi,0)求锐角A的度数
print(‘它的二进制数为{}’.format(bin(a)))
print(‘它的八进制数为{}’.format(oct(a)))
print(‘它的十六进制数为{}’.format(bin(a)))

#####################实验二python代码作业#####################
##第一题,第二题
import math
sum1=0
sum2=0
i=0
while(i<101):if (i%2==0):sum1+=ielse:sum2+=ii=i+1
print(str.format("1+3+5+7...+99和为:{0:.1f}\n  2+4+6+8...+100和为:{1:.1f}",sum1,sum2))
print(f"1+3+5+7...+99和为:""{0:.1f}\n".format(sum1),"2+4+6+8...+100和为:","{0:.1f}".format(sum2))
#####第三题
i=0
for year in range(2000,3000):if ((year % 4 == 0 and year % 100 != 0) or year % 400 == 0):i+=1if i%8==0:print(i,end='\n')else:print(year,end='\t')
########第四题
n=int(input("请输入n的值:"))
sum=0
x=-1
for i in range(0,n+1,1):if i%2==0:x=-xelse:sum+=i*x
print("{0:.0f}".format(sum))
#######第五题
n=int(input('请输入n的值:'))
sum=0
x=1
for i in range(1,n+1,1):sum+=1/i
print("sum={0:.3f}".format(sum))
#######第六题
#第一种左上角
for i in range(1, 10,1):for j in range(1, 11 - i,1):print("{0}*{1}={2}".format((10 - i), j, (10 - i) * j), end='\t')print(end='\n')
#第二种左下角
for i in range(1, 10,1):for j in range(1, i + 1,1):print("{0}*{1}={2}".format(i, j, i * j), end='\t')print(end='\n')
#第三种右下角
for i in range(1, 10):for j in range(1, 10-i):print(end="        ")for k in range(1, i+1):print("{}*{}={:<2}".format (i, k, i*k), end='\t')print('\t')
#第四种右上角
for i in range(9,0,-1):for k in range(1,10-i,1):print("          ", end="  ")for j in range (1,i+1):print('{} * {} = {:<2}'.format(i,j, i*j), end = "  ")print()
###第七题
import math
a=int(input("请输入三角形的边长a:"))
b=int(input("请输入三角形的边长b:"))
c=int(input("请输入三角形的边长c:"))
if a+b>c and a+c>b and b+c>a:d=(a+b+c)/2s=math.sqrt(d*(d-a)*(d-b)*(d-c));# print(str.format("三角形三边分别为a={},b={},c={}",a,b,c))print(f"三角形三边分别为a={a},b={b},c={c}")print("三角形的周长为:{:.1f}".format(d))print("三角形的面积为:{:.1f}".format(s))
else:print("无法构成三角形!")
####第八题
import math
x=float(input("请输入x的值: "))
##单分支语句求解
if(x>=0):y=(x*x-3*x)/(x+1)+2*math.pi+math.sin(x)
if(x<0):y=math.log(-5*x)+6*(math.sqrt(-x+math.exp(4)))-(x+1)**3
print(str.format("y的值为:{:.2f}",y))
##双分支语句求解
if(x>=0):y=(x*x-3*x)/(x+1)+2*math.pi+math.sin(x)
else:y=math.log(-5*x)+6*(math.sqrt(-x+math.exp(4)))-(x+1)**3
print('y的值为:{:.2f}'.format(y))
##条件运算语句求解
y=(x*x-3*x)/(x+1)+2*math.pi+math.sin(x) if (x >= 0) else(math.log(-5*x)+6*(math.sqrt(-x+math.exp(4)))-(x+1)**3)
print(f"y的值为:""{:.2f}".format(y))
####第九题
import math
a=float(input('请输入系数a:'))
b=float(input('请输入系数b:'))
c=float(input('请输入系数c:'))
d=b*b-4*a*c
if a==0 and b==0:print('此方程无解!')
elif a==0 and b!=0:print('此方程的解为:',end='\t')x=-c/bprint(x)
elif d==0:print('此方程有两个相等实根:',end='\t')x=(-b)/2*aprint(x)
elif d>0:print('此方程有两个不等实根:',end='\t')x1=((-b)+math.sqrt(d))/2*ax2=((-b)- math.sqrt(d))/2*aprint(x1,' 和 ',x2)
elif d<0:real=(-b)/2*aimag=(math.sqrt(-d))/2*ax1=complex(real,imag)x2=complex(real,-imag)# print(f'此方程有两个不等实根:{x1}和{x2}',end='\t')print(str.format("此方程有两个不等实根:{0}+{1}和{0}-{1}",real,imag))
#####第十题
n=int(input('请输入整数n>=0:'))
s=1
if n==0:print('0!=1')
else:for i in range(1, n + 1):s*=iprint(str.format('使用for循环输出n!:{}!={}', n, s))s=i=1while(i<=n):s*=ii+=1print(str.format('使用while循环输出n!:{}!={}', n, s))
####第十一题
import random
a=random.randint(0,100)
b=random.randint(0,100)
if(b>a):a,b=b,a
x1,x2=a,b
while((a-b)!=0):#更相减损法cha=a-ba=bb=chaif(b>a):a,b=b,a
print(str.format("最大公约数为:{}\n最小公倍数为:{}",b,x1*x2/b))
# while(b!=0):    #辗转相除法
#     yu=a%b
#     a=b
#     b=yu
# print(str.format("最大公约数为:{}\n最小公倍数为:{}",a,x1*x2/a))
##直接使用公式
import random
a=random.randint(0, 100)
b=random.randint(0, 100)
def gcd(x, y):return x if y==0 else gcd(y,x%y)
print(str.format('整数a={},整数b={}', a, b))
print(str.format('最大公约数={},最小公倍数={}', gcd(a, b), int(a*b/gcd(a, b))))

实验二自我总结:

知识点(书+自我查询+自我捣鼓):
s=sqrt(h*(h-a)(h-b)(h-c))#h为三角形周长
math.exp()#质数e
math.log()#lnx
math.sin()#sinx
x1=complex(real,imag)#复数
import random
a=random.randint(0,100)#100中随机取数
python推导式
例子:
列表:cells=[(row,col) for row in range(1,10) for col in range(1,10)]
字典:
my_txt=“I LOVE YOU,I LOVE SXT,I LOVE GAOQI”
char_count={keys: my_txt.count() for keys in my_txt}
生成器推导式:gnt=(x for x in range(1,10) if x%9==0)


###############实验三python代码练习################
##第一题
list1=["lift","is","short"]
list2=["you","need","python"]
print(str.format('输出list1的第一个元素:{}\n及其索引为:{}',list1[0],list1.index('lift')))
list1.append('!')
print('新的列表为:',list1)
##第二题
s=[9,7,8,3,2,1,5,6]
print('变换前,s=',s)
for i in range(0,len(s)):if s[i]%2==0:s[i]=s[i]*s[i]
print('变换后,s=',s)
##第三题
x=[1,2,1,2,1,1,1]
b=[]
for i in x:if i!=1:b.append(i)
print('使用if语句除去列表中的1:',b)
while 1 in x:x.remove(1)
print('使用while语句除去列表中的1:', x)
##第四题
#方法一
a=input('请输入列表元素:')
list1=list(a)
list2=[]
for i in list1:while(i not in list2):list2.append(i)
print('删除重复元素后的列表为:',list2)
#方法二
a=input('请输入列表元素:')
list1=list(a)
list2=[]
for i in range(0,len(list1)):if (list1[i] not in list2):list2.append(list1[i])
print('删除重复元素后的列表为:',list2)
#方法三
a=input('请输入列表元素:')
list1=list(a)
list2=set(list1)
print('删除重复元素后的列表为:',list(list2))
##第五题
#方法一
print('请输入字符串: The qu1ck brown fox jumps over the lazy dog.')
list1=['The','qu1ck','brown','fox','jumps','over','the','lazy','dog.']
print('其中的单词总数有:',len(list1))
#方法二
a=input('请输入字符串:')
list1=list(a)
print('其中的单词总数有:',list1.count(' ')+1)
##第六题
a=str(input("请输入一个字符串:"))
b=[]
#方法一
for i in range(len(a)):b.append(ord(a[i]))
print(b)
#方法二
c=list(a)
for i in c:b.append(ord(i))
print (b)
##第七题
import random
import string
list1=[]
list2=[chr(i) for i in range(97,123)]
list3=[chr(i) for i in range(65,91)]
list1.extend(list3)
list1.extend(list(range(10)))
code=[]
for i in range(6):x=random.randint(0,len(list1))code.append(list1[x])
# print("验证码为:",''.join(map(str,code)))
yz=''
for i in code:yz+=str(i)
print("验证码为:",yz)
##第八题
import math
sushu=[]
a=int(input("请输入一个整数a>2:"))
for i in range(2,a+1):for j in range(2,int(math.sqrt(i))+1):if i%j==0:breakelse:sushu.append(i)
print("素数列表为:",sushu)
##第九题
s=[9,7,8,3,2,1,55,6]
##方法一
max=0
min=9999999
sum=0
for i in s:if i>max:max=iif(i<min):min=isum+=i
print('元素个数:',len(s))
print('最大值:',max)
print('最小值:',min)
print('元素之和:',sum)
print('平均值:',sum/len(s))
#方法二
s=[9,7,8,3,2,1,55,6]
max=0
min=9999999
sum=0
i=len(s)-1
while(i>=0):if s[i]>max:max=s[i]if(s[i]<min):min=s[i]sum+=s[i]i-=1
print('元素个数:',len(s))
print('最大值:',max)
print('最小值:',min)
print('元素之和:',sum)
print('平均值:',sum/len(s))
#方法三
s=[9,7,8,3,2,1,55,6]
print('元素个数:',len(s))
print('最大值:',max(s))
print('最小值:',min(s))
print('元素之和:',sum(s))
print('平均值:',sum(s)/len(s))
##第十题
student={}
sname=[]
chenji=[]
flag=0
while flag!=1:name=input("请输入学生姓名:")sname.append(name)flag=float(input("请输入学生成绩:"))if flag>0 and flag<150:chenji.append(flag)else:print("超出范围,重新输入:")flag=int(input('输入1退出,其他任意整数键继续输入:'))
student=dict(zip(sname,chenji))
print("学生姓名和成绩:",student)
##第十一题
#方法一(删除)
people={'小明': '男', '小李': '女', '小陈': '男', '小雅': '女', '小丽': '男'}
print("删除前:", people)
jian=list(people.keys())
zhi=list(people.values())
for i in zhi:if (i=='男'):x=zhi.index('男')zhi.remove('男')del (jian[x])
newpeople=dict(zip(jian, zhi))
print("删除后:", newpeople)
#方法二(添加)
people={'小明': '男', '小李': '女', '小陈': '男', '小雅': '女', '小丽': '女'}
print("删除前:", people)
name=[]
sex=[]
jian=list(people.keys())
zhi=list(people.values())
for i in range(len(zhi)):if (zhi[i]=='女'):sex.append('女')name.append(jian[i])
newpeople=dict(zip(name,sex))
print("删除后:", newpeople)
##第十二题
student={}
sno1=[]
sname1=[]
flag=1
while flag==1:sno=int(input("请输入学生学号:"))sno1.append(sno)name=input("请输入学生姓名:")sname1.append(name)flag=int(input('输入1继续输入,输入其他整数值退出:'))
student=dict(zip(sno1,sname1))
student_new={}
sno_new=[]
sname_new=[]
sno_new=sorted(sno1)
for i in sno_new:sname_new.append(student[i])
student_new=dict(zip(sno_new,sname_new))
print("根据学生学号从小到大输出学生信息:",student_new)
##第十三题
s=str(input("请输入字符串:"))
s=str.lower(s)
a=[]
num=[]
count={}
for zimu in s:count[zimu]=count.get(zimu,0)+1
print("字母及其出现次数:",count)
##第十四题
key={'False','None','True','and','as','assert','break','class',
'continue','def','del','elif','else','except','finally','for',
'from','global','if','import','in','is','lambda','nonlocal','not',
'or','pass','raise','return','try','while','with','yield'}
a=input('请输入字符串:')
if a in key:print("{}是python中的关键字!".format(a))
else:print("{}不是python中的关键字!".format(a))
##第十五题
#方法一
import math
sushu=set()
a=int(input('请输入一个正整数a>2:'))
for i in range(2,a+1):flag=1for j in range(2,int(math.sqrt(i)+1)):if i%j==0:flag=0breakif flag:sushu.add(i)
print('2到{}素数集合:'.format(a),sushu)
#方法二
import math
sushu=[]
a=int(input("请输入一个整数a>2:"))
for i in range(2,a+1):for j in range(2,int(math.sqrt(i))+1):if i%j==0:breakelse:sushu.append(i)
print('2到{}素数集合:'.format(a),set(sushu))

实验三自我总结:

知识点(书+自我查询+自我捣鼓):
列表:
四种删除元素方法
对列表按元组指定列进行排序
元组:
字典
dict按key或按value排序
字符串:
字符串逆序输出(六种方法)
列表和字典:
dict和list相互转换(字典和列表相互转换)

#############实验四python代码作业##############
##第一题
str=input('请输入字符串:')
sum=1
# for i in str:
#     if i==' ':
#         sum+=1
# print('其中的单词总数有:', sum)
list=str.split(' ')
print('其中的单词总数有:', len(list))
##第二题
str=input('请输入一个字符串:')
str=str.replace('E',' ')
print('替换后的字符串:',str)
##第三题
str=input("请输入身份证号:")
# print(str.format('出生日期:{0}年{1}月{2}日',str[6:10],str[10:12],str[12:14]))
print(f'出生日期:{str[6:10]}年{str[10:12]}月{str[12:14]}日')
##第四题
str1 = "abcdef"
# 1直接使用字符串切片功能逆转字符串
print(str1[::-1])
# 2将字符串转换为列表使用reverse函数
str1_list = list(str1)
str1_list.reverse()
print(''.join(str1_list))
# 3新建一个列表,从后往前添加元素
str1_list = []
for i in range(len(str1) - 1, -1, -1):str1_list.append(str1[i])
print(''.join(str1_list))
# 4借助于collections模块现成的方法extendleft
import collections
cd1 = collections.deque(str1)
cd2 = collections.deque()
for char in cd1:cd2.extendleft(char)
print(''.join(cd2))
# 5递归实现
def rec(string):if len(string) != 1:rec(string[1:])print(string[0], end='')
rec(str1)
# 6借助基本的Swap操作,以中间为基准交换对称位置的字符
str_list=list(str1)
len_str=len(str_list)
i=0
while i<len_str/2:str_list[i],str_list[len_str-i-1]=str_list[len_str-i-1],str_list[i]i++
print(''.join(str_list))
##第五题
name=input("请输入要祝贺的人的姓名:")
print(str.format("祝{}新年快乐!",name))
print(f"祝{name}新年快乐!")
print("祝{}新年快乐!".format(name))
##第六题
str=input('请输入字符串:')
str1=str[0::2]
str2=str[1::2]
print('偶数位字符=',str1)
print('奇数位字符=',str2)
print(str1+str2)
##第七题
#方法一
s=input('请输入字符串:')
s_new=s[-1]+s[:len(s)-1] #s[-1]表示s最后一位,s[:len(s)-1]表示切片到倒数第二位
print(s_new)
#方法二
a = input("请输入字符串:")
print('{}{}'.format(a[-1],''.join([a[i] for i in range(len(a) - 1)])))
#方法三
arr=[]
r=""
m=input("请输入")
for string in m:arr.append(string)
last=arr[-1]
arr.insert(0,last)
arr.pop()
for str in arr:r=r+str
print(r)
##第八题
#方法一
import re
str=input("请输入字符串: ")
flag=1
for i in str:print(i)if(str>'A' and str <'Z')and (i!='E' and i!='I' and i!='O' and i!='U'):str_new=re.sub('[A-Z-[AEIOU]]', 'Iron', str)flag=0if i=='A' or i=='E' or i=='I' or i=='O' or i=='U':str_new=re.sub('[AEIOU]','Iron Yard',str)falg=0if i=='a' or i=='e' or i=='i' or i=='o' or i=='u':str_new=re.sub('[aeiou]','Yard',str)flag=0
if(flag==1):print("字符串不符合替换要求:",str)
else:print("替换后的字符串为:",str_new)
#方法二
str1=input("请输入字符串:")
str=''
yyzm='aeiou'
for i in str1:if i in yyzm:str+='Yard'elif i in yyzm.upper():str+='Iron Yard'elif i.isupper():str+='Iron'else:str+=i
print("修改后的字符串为:",str)
##第九题
#方法一
import re
import math
str=input("请输入胖子们的体重:")
number=re.findall("\d+",str)
s=[]
for i in range(0,len(number)):t=int(number[i])x=0while t!=0:x+=t%10t=t/10-t%10/10s.append(int(x))
s.sort()
print(s)
#方法二
import re
import math
str=input("请输入胖子们的体重:")
list1=list(str)
l1=sorted(str.split(" "),key=lambda x:(sum(int(c) for c in x),x[0]))
print(l1)
#########正则表达式相关操作#######
##第一题
import re
eamil=input("请输入邮箱:")
if re.match(r'.*?@163.com',eamil):print('这个是邮箱账号!')
else:print('这不是邮箱账号!')
##第二题
import re
str1="""<td width="160">大连理工大学</td>"""
str2="""<td width="160"><a href="../news/list_117.html" class="keyWord" target="_blank">重庆</a>大学</td>"""
str3="""<td width="160">中南<a href="../news/list_197.html" class="keyWord" target="_blank">财经</a><a href="../news/list_201.html" class="keyWord" target="_blank">政法</a>大学</td>"""
re1=re.search("""<td width="160">(.*?)</td>""",str1).group(1)
print(re1)
print(''.join(map(str,re2)))
re2=re.search("""<td width="160"><a href="../news/list_117.html" class="keyWord" target="_blank">(.*?)</a>(.*?)</td>""",str2).group(1,2)
print(''.join(re2))
print(''.join(map(str,re2)))
re3=re.search("""<td width="160">(.*?)<a href="../news/list_197.html" class="keyWord" target="_blank">(.*?)</a><a href="../news/list_201.html" class="keyWord" target="_blank">(.*?)</a>(.*?)</td>""",str3).group(1,2,3,4)
print(''.join(re3))
print(''.join(map(str,re2)))
##第三题
##方法一(不完整有缺陷)
import re
import requests
url='http://www.baidu.com'
reponse=requests.get(url)
rts=reponse.text
print(rts)
s=rts.encode()
print(s)
temp=s.decode('utf-8')
pattern="[\u4e00-\u9fa5]+"
# regex=re.compile(pattern)
# results=regex.findall(temp)
results=re.findall(pattern,temp)
for result in results:print(result)
#方法二
import re
s=input("请输入字符串s:")
str=''
print(s)
# temp=s.decode('utf-8')
pattern="[\u4e00-\u9fa5]+"
# regex=re.compile(pattern)
# results=regex.findall(temp)
results=re.findall(pattern,s)
for result in results:str+=result
print (str)

实验四自我总结:

知识点(书+自我查询+自我捣鼓):
spilt() 方法作用
一 通过指定的字符分隔字符
例子:content = string.split(" “) # 通过空格来分隔string 字符串
二 分隔指定的几个的字符
例子:content = string.split(” “, 2) # 分隔前2个字符串
三 获取某一个切割的字符
例子:content = string.split(” “)[3] # 字符串的下标是从0开始这里是获取分隔的第四个字符
replace()方法作用
String.prototype.replace(参数1,参数2)
返回新的字符串,原来的字符串不会发生改变
第一个参数为匹配模式:模式可以是一个字符串或者正则表达式
第二个参数为替换值:替换值可以是一个字符串或者一个每次匹配都要调用的回调函数
例子:
str = “我想你”;
result = str.replace(“想”, “爱”);
print(result)#我爱你
print(str)#我想你
reverse()方法作用
该方法没有返回值,但是会对列表的元素进行反向排序。
例子:
str1 = “abcdef”
str1_list = list(str1)
str1_list.reverse()
print(‘’.join(str1_list))
print(str1[::-1])#直接使用字符串切片功能逆转字符串
python中的切片操作
切片是包含三个参数和两个冒号” : " ,用于分隔三个参数(start_index、end_index、step)。当只有一个“:”时,默认第三个参数step=1;当一个“:”也没有时,start_index=end_index,表示切取start_index指定的那个元素。
start:切片的起始位置,如果没有值的话从头开始.
end:切片的结束位置,但不包含end(前闭后开),如果没有值的话表示切割到结束为止.
step:步长,默认取值为1,如果步长为正数的情况表示从左往右,反正若为负数则表示从右往左. step的正负决定切的方向
1.切割单个值
a[5]#a里面的第5位
2.切割完整对象
a[:] #单独一个冒号,代表从头取到尾,步长默认为1
a[::]#单独两个冒号一样代表从头取到尾,步长默认为1
a[::-1]#两个冒号后面是步长,步长为1,故应从右往左取
3.连续的切片操作
a[:8][2:5][-1:] #[:8]就是0取到8,在从其中取2到5,最后取-1位
4.切片中的三个参数为表达式
a[1+2:2*3:7%2]
5.切片可以操作其他的对象比如字符串
for i in range(0,100)[2::3][-10:]: #从第二位开始取,步长为3,[-10]是从倒数10位开始取,是去末尾10位.
详细例子
re.sub函数方法使用
sub使用方法详解
re.findall()函数方法使用
findall使用方法详解
encode()和decode()介绍
详解
re.compile函数方法使用
compile使用方法详解

map函数详解

######################实验五python作业###########第一题
# def funct(List):
#     return max(List),min(List),len(List)
# list1=eval(input("请输入字符串:"))
# print(f'list= {list1}')
# list2=funct(list1)
# print(f'最大值为:{list2[0]},最小值为:{list2[1]},元素个数为:{list2[2]}')
###第二题
# def funct(x):
#     list1=[]
#     for i in range(6):
#         list1.append((x%10+7)%10)
#         x//=10
#     list1[0],list1[1]=list1[1],list1[0]
#     list1[2],list1[4]=list1[4],list1[2]
#     list1[0],list1[3]=list1[3],list1[0]
#     return int(''.join(map(str, list1)))
# x=int(input('请输入一个五位数:'))
# if x<100000 :
#     print(f'原来的数:{x}')
#     print(f'加密后的数:{funct(x)}')
# else:
#     print('输入的数有误!')
###第三题
# def funct(x):
#     dict1=sorted(x.items(), key=lambda x: x[0])#对字典按键(key)进行排序
#     # dict1=sorted(x.items(), key=lambda x: x[1],reverse = True)#对字典按键(value)倒序进行排序
#     ###key = lambda x : (x[0] , x[1])关于第一个元素排序,再根据第二个元素排序
#     return dict1
# student=eval(input('请输入学生信息:'))
# print(funct(student))
###第四题
##方法一
# import random
# import math
# lst = []
# lst = [random.randint(1,100) for i in range(50)]
# print(lst)
# def isPrime(n):
#     flag = 0
#     i = 1
#     if n == 1:
#         return True
#     while i<=math.sqrt(n):
#         if n%i == 0:
#             flag += 1
#         i = i+1
#     if flag == 1:
#         return False
#     return True
# lst = list(filter(isPrime,lst))
# print(lst)
##方法二
# import random
# import math
# def is_prime(x):
#     if x==1:
#         return 1;
#     for i in range(2,int(math.sqrt(x))+1):#要加int转为为整型,不然会报错
#         if x%i==0:
#             return 1
#         else:
#             return 0
#     return 0
# list1=[random.randint(1,101) for i in range(50)]
# print(f'随机整数的列表为:\n{list1}')
# print(f'过滤后的列表为:\n{list(filter(is_prime,list1))}')
###第五题
# #方法一递归函数
# def fact(n):
#     if n<=1:
#         return 1
#     else:
#         return n*fact(n-1)
# n=int(input("请输入整数(n>=0):"))
# print(f'S!={fact(n)}')
# #方法二非递归函数
# def fact(n):
#     sum=1
#     for i in range(1,n+1):
#         sum*=i
#     return sum
# n=int(input("请输入整数(n>=0):"))
# print(f'S!={fact(n)}')
###第六题
# def funct(x):
#     if(x==1 or x==2):
#         return 1
#     else:
#         return funct(x-1)+funct(x-2)
# n=int(input('请输入(n>=3):'))
# print('斐波那契数列为:')
# for i in range(1,n):
#     print(funct(i),end='、')
# print(funct(n))
###第七题
# def cni(n, i):
#     minNI=min(i,n-i)
#     result=1
#     for j in range(1,minNI+1):
#         result*=(n-(j-1))//j
#     return result
# n=int(input('请输入n的值:'))
# i=int(input('请输入i的值:'))
# print(cni(n, i))
###第八题
# def cal(n):
#     global Sn
#     global Hn
#     Sn=-100
#     Hn=100
#     for i in range(1,n+1):
#         Sn+=Hn*2
#         Hn/=2
#     return Sn,Hn
# n=int(input('请输入n的值:'))
# x=cal(n)
# print(f'Total of road is',"{:.6f}".format(x[0]),'meter')
# print(f'The heighth is',"{:.6f}".format(x[1]),'meter')
###第九题
# import requests,re
#
# def get_prince_adss(page):
#     url=f'https://www.cnhnb.com/hangqing/cdlist-2003191-0-0-0-0-{page}/'
#     strs=requests.get(url)
#     if strs.status_code == 200:
#         print('可以网页源代码')
#     else:
#         print('无法获取网页源代码')
#     strs=requests.get(url).text
#     patten_price = '<span class="price" data-v-1ff6b2ee>(.*?)</span>'
#     patten_address = '<span class="place" data-v-1ff6b2ee>(.*?)</span>'
#     # <span class="product" data-v-1ff6b2ee>(.*?)</span>#产品品种
#     price = re.findall(patten_price, strs)
#     adds = re.findall(patten_address, strs)
#     return price, adds
#
# price,address = [],[]
# for page in range(1,4):
#     price1, adds=get_prince_adss(page)
#     price.append(price1)
#     address.append(adds)
# print(address,price)###第十题
# def min_n(*n):
#     x=min(*n)
#     print("最小值为", end="")
#     return x
#
# list1=eval(input('请输入要比较的值:'))
# print(min_n(*list1))
###第十一题
# def hnt(n, a, b, c):
#     if (n==1):
#         print(a,'移动到',c)
#     else:
#         # n-1视为一个整体,然后调整柱子的位置,最终n=1时,执行1阶汉诺塔解决步骤
#         hnt(n-1,a,c,b)
#         # 此行为最大环移动,执行1阶汉诺塔解决步骤
#         print(a,'移动到',c)
#         # n-1视为一个整体,然后调整柱子的位置,最终n=1时,执行1阶汉诺塔解决步骤
#         hnt(n-1,b,a,c)# n=int(input('请输入汉诺塔的层数:'))
# hnt(n,'a','b','c')

实验五自我总结:

知识点(书+自我查询+自我捣鼓):

sorted()方法对字典进行排序
例子:
dict1=sorted(x.items(), key=lambda x: x[0])#对字典按键(key)进行排序
dict1=sorted(x.items(), key=lambda x: x[1],reverse = True)#对字典按键(value)倒序进行排序
key = lambda x : (x[0] , x[1])关于第一个元素排序,再根据第二个元素排序
randint()函数产生随机数

python实验一到五作业+自我总结(待更新)相关推荐

  1. python实验课_#017 python实验课第五周

    总结写在最前面: 1.语法还是不会...(每周强制留的C语言一百题都没空写PS.团委诶....)都是现查现用(莫凡Python这个网站特别好用知识点一个视频就一分钟B站的播放器没广告,用啥学啥,还配有 ...

  2. python实验报告代写_TensorFlow作业代写、代做Python程序语言作业、代写github课程作业、Python实验作业代写...

    TensorFlow作业代写.代做Python程序语言作业.代写github课程作业.Python实验作业代写 日期:2019-07-10 10:34 Python Practical Examine ...

  3. 代写python作业费用标准_代做159.272作业、代写Programming Paradigms作业、代做Python实验作业、代写Java/c++编程作业代写Database|代做R...

    代做159.272作业.代写Programming Paradigms作业.代做Python实验作业.代写Java/c++编程作业代写Database|代做RComputational Thinkin ...

  4. 陈斌老师《数据结构与算法Python版》第五周作业——ASCII谢尔宾斯基地毯

    陈斌老师<数据结构与算法Python版>第五周作业--ASCII谢尔宾斯基地毯 题目 思路 程序如下 总结 题目 谢尔宾斯基地毯是形如上图的正方形分形图案,每个地毯可分为等大小的9份,其中 ...

  5. python代写学生作业_CS1026A留学生作业代做、代写Python实验作业、代做Python程序设计作业、代写Computer Organization作业...

    CS1026A留学生作业代做.代写Python实验作业.代做Python程序设计作业.代写Computer Organization作业 日期:2019-05-31 11:23 University ...

  6. python连载第十五篇~史上最全列表知识源码+答案

    #2017-12-19 19:34:41 December Tuesday the 51 week, the 353 day #python连载第十五篇~list列表#列表定义,访问,索引,操作,切片 ...

  7. Python实验项目1例:使用进程池统计指定范围内素数的个数

    本周赠书活动:董付国老师Python系列教材赠书活动(40本) -------------------------------- 适用专业: 适用于计算机.网络工程.软件工程等相关专业,其他专业选做. ...

  8. Python 基础课程第五天

    Python 基础课程第五天 第四章:控制语句 循环结构 for循环和可迭代对象遍历 可迭代对象 range 对象 嵌套循环和综合练习 break 语句 continue 语句 else 语句 循环代 ...

  9. Python实验报告

    本实验报告中图片上传不成功,所以未上传实验图片,请自行运行代码上传. 实 验 报 告 册 课        程        Python程序设计        批阅教师签名     学    院  ...

最新文章

  1. 如何做到尽可能不使用庞大的jQuery
  2. SVN库迁移整理方法总结
  3. vue-cli 打包
  4. 即时通讯的飞秋2010下载
  5. Python调用Windows API函数编写录音机和音乐播放器
  6. 华为HCNE专题一:网络基础知识
  7. c语言message函数应用,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
  8. 事物与持久化_DDD之聚合持久化应该怎么做?
  9. 关于SimpleDateFormat的一些使用及性能数据
  10. 第一次的数电作业-----数据选择,代码转换,译码
  11. STM32-STVP烧录
  12. 八爪鱼取消Ajax加载数据,谁知道八爪鱼采集器设置了循环翻页采集怎么才采集十几个数据就停下不动了...
  13. js 根据公历日期 算出农历_Javascript农历与公历相互转换
  14. 【第一组】第六次冲刺例会
  15. 【VTK+有限元后处理】符号化矢量场绘制
  16. 啥也不会还做出了机器学习——测试心得
  17. BaseAdapter 的notifyDataSetInvalidated 和notifyDataSetChanged
  18. 【LDPC-11】基于QC-LDPC的CDR系统LDPC编码实现与matlab仿真验证
  19. 夏日葵电商:开发一个微信商城系统多少钱
  20. LifeKeeper 操作规程及注意事项

热门文章

  1. java数据回填_快逸数据回填的实现方法
  2. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java手游账号交易系统u2741
  3. ARM64下 Kdump Crash
  4. ganache命令行安装
  5. android碎片实验报告,三年级下册科学实验报告模板1篇
  6. Ubuntu18.04 intel wifi6 ax201无线网卡驱动安装
  7. java运行环境配置
  8. 随机获取歌曲信息播放php,网易云热评随机获取PHP代码
  9. 如何安装GCC编译器
  10. 微信公众号链接更新静态资源文件