python——数学中的应用

1.输入一串字符串,分别统计各大写字母出现的次数,并按照字母出现的多少输出(先输出出 现次数多的,次数相同的按字母顺序输出,不出现的字母不输出)
      B:6
     C:6
     A:5
     E:5
     D:4

sa="AASJWWDWABBBSCDVD"
dic={'A':2}
#遍历字符串
for s in sa:
	#判断是否是大写字母
	if 90>=ord(s)>=65:
		#如果是 将大写字母放进一个序列
	if s in dic:
		#如果该大写字母已经存在 将value+1
		dic[s]=dic[s]+1
	else:
		#如果不存在 将字母和1(第一次出现)
	    dic[s]=1
print(dic)
print(dic.items())
#第一个参数 需要排序的序列
#第二的参数 key= 排序的条件
#      lambda  参数:返回值
# 第三个参数 是否进行翻转
list_items=sortted(dic.items(),key=lambda item:item[1],reverse=True)
print(list_items)
print(list_items)
list_items[1:3]=sortted(dic.items(),key=lambda item:item[0])
print(list_items)


老方法
#这两个方法返回的仅仅是一个可迭代对象
list_keys=list(dic.keys())
list_values=list(dic.values())
#冒泡排序  排序值 从大到小
for i in range(len(list_values)-1):
	for j in range(len(list_values)-1-i):
		if list_values[j]<list_values[j+1]
		    #对值进行排序
		    temp=list_values[j]
		    list_values[j]=list_values[j+1]
		    list_values[j+1]=temp
		    #对键进行排序
            temp=list_keys[j]
            list_keys[j]=list_keys[j+1]
            list_keys[j+1]=temp
dic=dict(zip(list_keys,list_values))
print(dic)

2.计算一元二次方程的解  实数解、
ax^2+bx+c=0
b^2-4ac >0 2解
       ==0  1解
       <0 无实数解
 -b +- 根号下 delt/2*a

import math
def jie(a,b,c)
    if a==0 b==0 and c==0:
    	print("无穷解")
    elif a==0 and b==0:
    	print("等式不成立")
    elif a==0 and c==0:
    	pass
    delt=b**2-4*a*c
    if delt>0:
    	y1=(-b+math.sqrt(delt))/(2*a)
        y1=(-b-math.sqrt(delt))/(2*a)
        return y1,y2
    if delt==0:
    	y1=(-b)/(2*a)
        return y1
    if delt<0:
    	print("无实数解!")
result=jie(3,-2,1)
print(result)

猜你喜欢

转载自blog.csdn.net/y805805/article/details/84497115