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)