# 字符串长度为0/1的,符合标识符,[-5,256]之间的整数数字,只在编译时驻留而非运行时
# 目的就是在字符串池里面可以直接调动,不浪费多个内存
# #pyc里面的驻留是优化了的,字符串拼接时建议使用join方法
# 字符串查询,正向索引从0开始,负向引索从-1开始
# s='hello,hello'
"""print(s.index('e'))#正向0,1,2开始检索,这个是检索不出来会报错的
print(s.find('k'))#正向,检索不出来显示-1
print(s.rindex('e'))
print(s.rfind('e'))
money=input("请输入带有货币符号的货币值:")
if money[0] in ["$"]: #检测货币种类a=(eval(money[1:]))*7.1print("美元转化为人民币后是:¥%.2f元"%a)
elif money[0] in ["¥"]:b=eval(money[1:])/7.1print("人民币转化为美元后是:$%.2f美元"%b)
else:print("格式错误")if money[0] in ["$"]:a=(eval(money[1:]))*7.1print("美元转化为人民币后是:¥%.2f元"%a)
elif money[0] in ["¥"]:b=eval(money[1:])/7.1print("人民币转化为美元后是:$%.2f美元"%a)
else:print("格式错误")
"""# python class2'''print(1.23e-4+5.6e+78j)#+78是正数78from math import pi
print(pi)天天向上=pow((1+0.01),365) #1.01的365次方
print(天天向上)
print(eval('1+2'))
s='123456789'
#print(s[:5:3])print(len(s))for i in range(10):print(i)print("hello\nworld")#\n换行
print(ord('a'))#字符要引号,ord是了解字符串的Unicode码
print(chr(66))#chr是码转字符
print(eval('"1+2"'))#eval去除第一个外括号,“1+1”去除后为1+1,print就2
x,y=5,6
y,x=x+1,y+2
print(x,y)# 字符串和其他数据类型不能+号连接s=input("请输入")#凯撒密码
for i in s:if ord("a")<=ord(i)<=ord("w"):print(chr(ord(i)+3),end=" ")elif ord("x")<=ord(i)<=ord("z"):print(chr(ord(i)-23),end=" ")else:print(i,end=" ")print("{:*>2}:{:*<8.2f}".format('length',23.425))#要求的位数比原样的少则直接输出原样
#{序号:填充符号 <左对齐>右对齐^居中 宽度(不打对齐数字默认右对齐),千分位 .2f精度 类型}s="Python语言程序设计课程"
print(s[0]+'\n'+s[2:-2]+'\n'+s[-1])s="Hello World!"
print(s[-1])
print(s[1])
print(s[0]*3)#字符串连续输出3次
print(s[0:3])a=input("请输入第一个数字:")
b=input("请输入第二个数字:")
c=input("请输入第三个数字:")
Max=max(eval(a),eval(b),eval(c))
Min=min(eval(a),eval(b),eval(c))
Mid=eval(a)+eval(b)+eval(c)-Max-Min
print("从小到大的顺序为:{} {} {}".format(Min,Mid,Max))
''''''输入三个整数,如果这三个数不能构成一个三角形
则输出“不能构成三角形”,否则输出该三角形的形状(
等边三角形,等腰直角三角形,直角三角形,等腰三角
形,一般三角形)。'''
'''
a=eval(input('请输入第一个整数:'))
b=eval(input('请输入第二个整数:'))
c=eval(input('请输入第三个整数:'))
if a+b>c and b+c>a and a+c>b:if a**2==b**2+c**2 or b**2==a**2+c**2 or c**2==b**2+a**2 :if a==b or b==c or a==c:print("等边直角三角形")else:print("直角三角形")elif a == b == c:print("等边三角形")elif a==b or b==c or a==c:print("等腰三角形")else: print("一般三角形")
else:print("不能构成三角形")''''''(程序设计)编写程序,输入三个数,按从小到大的顺序
输出这三个数。提示:使用python内置函数max和min,
不需要用if语句。运行结果参考下图,暂时不用考虑小数点的问题。''''''a=eval(input('请输入第一个数:'))
b=eval(input('请输入第二个数:'))
c=eval(input('请输入第三个数:'))
MAX=max(a,b,c)
MIN=min(a,b,c)
MID=a*b*c/MAX/MIN
print('从小到大的顺序为{},{},{}'.format(MIN,MID,MAX))''''''a=eval(input('请输入第一个整数:'))
b=eval(input('请输入第二个整数:'))
c=eval(input('请输入第三个整数:'))
if a+b>c and a+c>b and b+c>a:if a==b==c:print("等边三角形")elif a==b or b==c or a==c:if a^2+b^2==c^2 or a^2+c^2==b^2 or c^2+b^2==a^2:print("等腰直角三角形")else:print("等腰三角形")elif a^2+b^2==c^2 or a^2+c^2==b^2 or c^2+b^2==a^2:print("直角三角形")else:print("一般三角形")
else:print("不能构成三角形")''''''
现在把1万元存在银行一年,银行会给你1.5%的利息即150元。
编写程序,计算要经过多少年,1万元才会变成2万元?
now=10000
i=0
while now<20000:now=now*1.015i=i+1
print(i)'''
'''
编写程序,利用公式e=1+1/1!+1/2!+1/3!+...+1/n!
计算自然对数e的近似值。n在运行时由键盘输入。n=eval(input("请输入正整数n:"))
e,j=1,1
for i in range(1,(n+1)):j=j*ie=e+j**(-1)
print("e的近似值为:{}".format(e))
'''''' 嵌套循环
for i in range(1,4):for j in range(5,7):print("{}{}".format(i,j))''''''sushu=2
while sushu>0:for f in range(2,sushu):if sushu%f==0:sushu=sushu+''''''x=5
while True:print(x)x=x-1if x==1:break'''
'''s="computersence"
for i in s:print(i,end="")if i=="s":continue''''''如果一个数恰好等于它的因子之和,这个数就称为“完数”
。例如28=1+2+4+7+14则28就是一个完数。编写程序,输出1000以内的所有完数个数。
n=0
for i in range(1,1001):s=0for j in range(1,i):if i%j==0:s += jif s==i:n=n+1
print(n)
'''
'''编写程序,找出1000以内所有的水仙花数。水仙花数的定
义:每个位上的数字的3次幂之和的大小等于本身。例如,153是一个水仙花数,153=1^3+5^3+3^3。for s in range(1000):if (s//100)**3+(s%10)**3+((s%100)//10)**3==s:print(s)'''
'''已知公鸡5元买1只,母鸡3元买1只,小鸡1元买3只。现
要用100元买100只鸡,问公鸡、母鸡和小鸡各为多少?
'''
'''for g in range(1,21):for m in range(1,33):if 100-5*g-3*m>0:xq=3*(100-5*g-3*m)if xq+g+m==100:print("公鸡数为{}只,母鸡数为{}只,小鸡数为{}只".format(g,m,xq))'''
'''使用turtle库绘制一个半径为200像素的圆,再绘制圆的内接正方形,如下图所示。from turtle import*
circle(-200)
seth(-45)
forward(200*pow(2,0.5))
seth(-135)
forward(200*pow(2,0.5))
seth(-225)
forward(200*pow(2,0.5))
seth(-315)
forward(200*pow(2,0.5))
''''''
s=0
for i in range(1,20,3):if i%5==0:continueelif i>8:breakelse:s=s-1s=s+i
else:s=s+10
print(s)
''''''
#函数定义
def happy():print('happy birthday to you')#要先定义才能用
def happyb(name):#给了参数,下面的定义中这个参数就是定义域(输入值)happy()#调用上面定义的函数happy()print('happy to {}'.format(name))
a=input("今天的生日是:")
happyb(a)#这个函数是包括的输出的,函数里面是什么就执行什么,其实就是代码的打包
#函数的参数,就是IPO的输入
#return 就相当于输出
#这是一个可以无定义域的函数,有定义域也可以没有值域,有就可以返回出一个值
''''''
def jisuan(n):e, j = 1, 1for i in range(1, (n + 1)):j = j * ie = e + j ** (-1)return es=eval(input("input :"))
print(jisuan(s))'''
#
''')设计一个函数 func(a),它接受一个正整数a,函数返回这个数字每个位上数字的和
(函数内不能有input,print语句,不能使用global语句),
例如,func(123),返回6,因为1+2+3=6。''''''def func(a):s=0for i in a:b=eval(i)s=s+breturn s
a=input("请输入一个正整数")
print(func(a))''''''定义一个函数,该函数返回参数字符串中
包含多少个数字、多少个英文字母。'''def check(a):o = 0n = 0for i in a:if 63 < ord(i) < 123: # 直接字符串可以比较 i>='A'o = o + 1elif 47 < ord(i) < 58:n = n + 1else:continueprint("参数中有{}个字母,{}个数字".format(o, n))# a=input("请输入一个参数:")
# check(a)'''定义函数def GetRandomChar(),返回一个随机的数字或大写或
小写字母,每个符号出现的机会相等。然后
调用该函数8次,生成并输出一个8位的验证码。'''
'''from random import*
def GetRandomChar():abc=chr(randint(97,122))ABC=chr(randint(65,90))num=randint(0,9)n=choice([abc,ABC,num])return n
n=''
for i in range(8):n=n+str(GetRandomChar())
print(n)''''''区间素数和。输入两个正整数m,n ( m < n),编写程序求[m,n]之间的所有素数
的和。要求定义函数def IsPrime(m)判断整数
m是否是素数,如果是素数返回True否则返回False。'''
'''
m=eval(input("请输入整数m:"))
n=eval(input("请输入整数n:"))
def IsPrime(m):if m< 2:return Falseelif m==2:return Trueelse:for i in range(2,m):if m % i == 0:return Falseelse:return True
s=0
for i in range(m,n+1):if IsPrime(i):s+=i
print("范围在[{},{}]的素数和为:".format(m,n)+str(s))''''''import datetime
now=datetime.now()
print()''''''斐波拉契数列通项公式'''
'''def fib(n):if n<=2:return 1else:return fib(n-2) + fib(n-1)
n = eval(input('n'))
print(fib(n))''''''def lou(j):if j == 1 or j<1:return 1else:return lou(j - 1) + lou(j-2)
n = int(input("请输入楼梯的阶数:"))
print("总共有{}种不同的走法".format(lou(n)))''''''#定义一个函数def DrawPic(n, char),它的功能是显示由字符char组成的图形,
图形上半部分共n行,请参考下图。''''''def Drawpic(n,char):h=0x=""k=""for h in range(n+1):l=(2*h-1)x=str(char)*lk=(n-h)*' 'print(k+x)for h in range(n-1,0,-1):l=2*h-1x=str(char)*lk=(n-h)*' 'print(k+x)
n=eval(input("请输入一个整数:"))
char=input("请输入一个字符:")
Drawpic(n,char)''''''def Drawpic(n,char):global t,b #用n来判断,n到哪一个地方就return那个东西b=1t=0if n==0:return n==(-1)*belif n>0:print((n-1)*' '+(2*b-1)*char)b+=1return Drawpic(n-1,char)else:print(' '*t+(2*abs(n)-1)*char)t+=1return Drawpic(abs(n)-1,char)
n=eval(input("请输入一个整数:"))
char=input("请输入一个字符:")
Drawpic(n,char)'''
'''ls=[123,345,345,12345,87654]
lt=[12,23,34,45,56]
ls[0:3]=lt
lt[0]=1111111print(ls)
ls[3:3]=4print(ls)''''''for i in range(5):for j in (1,i+1):print(str(i*j)+' ',end='')'''
'''c=[1,'2',3]
print(c[1][2])''''''n=eval(input('输入一个整数:'))
list1=[13,5,22,22,17,93,121,6,11,22,99,250]
list2=[]
num=0
if n not in list1:print('未找到要查找的数')
else:for i in list1:num+=1if n==i:list2.append(num)else:continueprint(list2)
'''
'''a=input('请输入字符串:')
o = 0
n = 0
for i in a:if 64 < ord(i) < 91: # 直接字符串可以比较 i>='A'o = o + 1elif 96 < ord(i) < 123:n = n + 1else:continue
if n>o:print('大写字母比小写字母少')
elif nb[1]:a.remove(b)breakelse:continue
print('出现次数最多的字符串是:{}'.format(a[0][0]))''''''【2】 (程序设计)对于给定的一个字符串s,如下所示,其中包含了一些
有重复的人名,编写程序,统计并输出出现最多的人名。''''''s = 双儿 洪七公 赵敏 赵敏 逍遥子 鳌拜 殷天正 金轮法王 乔峰 杨过 洪七公 郭靖 杨逍 鳌拜 殷天正 段誉 杨逍 慕容复 阿紫 慕容复 郭芙 乔峰 令狐冲 郭芙 金轮法王 小龙女 杨过 慕容复 梅超风 李莫愁 洪七公 张无忌 梅超风 杨逍 鳌拜 岳不群 黄药师 黄蓉 段誉 金轮法王 忽必烈 忽必烈 张三丰 乔峰 乔峰 阿紫 乔峰 金轮法王 袁冠南 张无忌 郭襄 黄蓉 李莫愁 赵敏 赵敏 郭芙 张三丰 乔峰 赵敏 梅超风 双儿 鳌拜 陈家洛 袁冠南 郭芙 郭芙 杨逍 赵敏 金轮法王 忽必烈 慕容复 张三丰 赵敏 杨逍 令狐冲 黄药师 袁冠南 杨逍 完颜洪烈 殷天正 李莫愁 阿紫 逍遥子 乔峰 逍遥子 完颜洪烈 郭芙 杨逍 张无忌 杨过 慕容复 逍遥子 虚竹 双儿 乔峰 郭芙 黄蓉 李莫愁 陈家洛 杨过 忽必烈 鳌拜 王语嫣 洪七公 韦小宝 阿朱 梅超风 段誉 岳灵珊 完颜洪烈 乔峰 段誉 杨过 杨过 慕容复 黄蓉 杨过 阿紫 杨逍 张三丰 张三丰 赵敏 张三丰 杨逍 黄蓉 金轮法王 郭襄 张三丰 令狐冲 赵敏 郭芙 韦小宝 黄药师 阿紫 韦小宝 金轮法王 杨逍 令狐冲 阿紫 洪七公 袁冠南 双儿 郭靖 鳌拜 谢逊 阿紫 郭襄 梅超风 张无忌 段誉 忽必烈 完颜洪烈 双儿 逍遥子 谢逊 完颜洪烈 殷天正 金轮法王 张三丰 双儿 郭襄 阿朱 郭襄 双儿 李莫愁 郭襄 忽必烈 金轮法王 张无忌 鳌拜 忽必烈 郭襄 令狐冲 谢逊 梅超风 殷天正 段誉 袁冠南 张三丰 王语嫣 阿紫 谢逊 杨过 郭靖 黄蓉 双儿 灭绝师太 段誉 张无忌 陈家洛 黄蓉 鳌拜 黄药师 逍遥子 忽必烈 赵敏 逍遥子 完颜洪烈 金轮法王 双儿 鳌拜 洪七公 郭芙 郭襄 赵敏
k=s.split(' ')
g={}
for i in k:g[i]=k.count(i)
g.pop('',0)
g.pop('\n',0)
j=list(g.items())
for m in range(len(j)) :for i in j:for b in j:if i[1]>b[1]:j.remove(b)breakelse:continue
print('出现次数最多的名字是:{}'.format(j[0][0]))
'''''''(程序设计)编写程序,对于输入只含大小写字母的字符串,
统计每个字符出现的次数(大小写字母是不同的字母),
结果按字符从小到大的顺序输出。注意结果是不含单引号或双引号。'''
'''def shu(s):zd={}for i in s:zd[i]=zd.get(i,0)+1return zd
k=shu(input('请输入一个字符串:'))
a=(k.items())
d=list(sorted(a,key=lambda x:ord(x[0])))
zd={}
for x in d:t=x[0]zd[t]=x[1]print(str(zd).replace("'",""))''''''(程序设计)用随机函数生成50个范围在[1,999]的随机整数,
把这50个整数保存到列表。编写程序,对这50个数从小到大进行排序,
并按每行10个输出(要求数据的个位对齐)。
注意:不能使用sort,sorted,max, min,index函数,
在排序的时候原列表不能删除元素,不能增加元素,
不能生成新的列表,只能原地排序。方法:先找出全部数据的最小值,把它放在第0个位置,
然后在剩下的数据找最小值放在第1个位置,依此类推。不能用其它方法。''''''
import random
list1=[]
for i in range(50):k=random.randint(1,999)list1.append(k)def paixu(n):b = 999c = 0if n == 50:returnelse:for j in range(n,50):if list1[j] < b:b = list1[j]c = jelse:continuelist1.pop(c)list1.insert(n,b)return paixu(n+1)
paixu(0)
d = 0
for i in range(50):d += 1print("{:>3} ".format(list1[i]), end="")if d % 10 == 0:print()''''''def bijiao(n):num=nglobal kif (num+k)< (50-n):if list1[n]>list1[num+k]:return Falseelse:k=k+1return bijiao(n)elif num+k==50-n:return True
print(list1)''''''def fn(k):if k==50:returnelse:for i in range(50):if bijiao(i):cheng = list1[n]list1.pop(cheng)list1.insert(i, cheng)break
''''''for i in range(50):for n in range(i,50):if bijiao(n):zuixiao=list1[n]yuanzhi=list1[i]list1[i]=zuixiaolist1[n]=yuanzhibreak
'''
'''m=0
def paixu(list0):global mif m<50:l=m'''
'''l=0
for m in range(50):for n in range(m,50):if bijiao(l)!=True:l += 1print('1???????????')else:zuixiao = list1[l]yuanzhi = list1[m]list1[m] = zuixiaolist1[l] = yuanzhiprint(list1)''''''for b in range(50):for n in range(len(list1)):if bijiao(n):k=list1[n]list1.remove(k)list1.append(k)else:continue'''
'''
a=open('test.txt','wt+')
a.write('hello world')a.close()
a=open('test.txt','wt+')
a.write('hello ')
a=open('test.txt','wt+')
print(a.readline())''''''
def IsPrime(m):if m ==1:return Falseelif m==2:return Trueelse:for i in range(3,m-1):if m%i==0:return Falseelse:continueelse:return True
m=eval(input("请输入整数m:"))
n=eval(input("请输入整数n:"))
sum=0
for i in range(m,n+1):if IsPrime(i):sum=sum+ielse:continue
print("范围在[{},{}]的素数和为{}".format(m,n,sum))'''#文件访问与改写
'''fname = input("请输入要打开的文件: ")
fo =open(fname,'r') #以只读方式打开文件
for line in fo: #循环遍历文件的每一行print(line)
fo.close() #关闭文件''''''fo = open("sample.csv", "r")
ls = []
for i in fo:i=i.replace('\n',"") #用空字符串("")替换每行最后的换行符("\n"),ls.append(i.split(",")) #将每行用逗号分割的元素添加到列表中
fo.close()'''
#写入到CSV,CSV的逗号是他需要的才有能是数据文件,所以要加上逗号
'''fw = open("sample.csv", "w")
ls = [['城市', '环比', '同比', '定基'], ['北京', '101.5', '120.7', '121.4'], ['上海', '101.2', '127.3', '127.8'], ['广州', '101.3', '119.4', '120'], ['深圳', '102', '140.9', '145.5'], ['沈阳', '100.1', '101.4', '101.6']]
for line in ls: #循环遍历列表fw.write(",".join(line)+'\n') # 将ls的一个元素(也是一个列表),用逗号分割,以回车"\n"结束,写入文件
fw.close() # 关闭文件'''#编写程序,按行读取文件中的字符串,输出其中长度最长的那一行字符串。
'''wjm = input("请输入要打开的文件: ")
wj=open(wjm,'r')
list1=[]
list1.append(wj.readline())for line in wj:if len(line)>len(list1[0]):list1[0]=lineelse:continue
print(list1)
wj.close()'''#两个文件 text1.txt和text2.txt,各存放一行英文字母,把这两个文件合并(按字母顺序排序)到 text3.txt文件,并输出。'''tx1=(open('text1.txt','r')).read()
tx2=(open('text2.txt','r')).read()
ls=[]
for i in tx1:ls.append(i)
for n in tx2:ls.append(n)
for k in range(len(ls)):ls[k]=ord(ls[k])
ls.sort()for m in range(len(ls)):ls[m]=chr(ls[m])
lst=str(ls)
tx3=open('text3.txt','w')
tx3.write(lst)
tx3.close()''''''编写程序,计算附件文件log.txt的平均列数,并输出。计算方法如下:(
1)有效行指包含至少一个字符的行,不计算空行;
(2)每行的列数为其有效字符数;
(3)平均列数为有效行的列数平均值,采用四舍五入方式取整数进位'''
'''log=open('log.txt','r')
ls=[]
for i in log:ls.append(i.replace("\n",""))
print(ls[-13:-9])
for n in range(len(ls)):ls.remove('')
r=0
for i in ls:if i =="":r+=1
for i in range(r):ls.remove("")
print(ls[-13:-9])
sum=0
for k in ls:sum+=len(k)
print(round(sum/len(ls)))
log.close()
ls3=['1','','','','2','']
for i in range(len(ls3)):ls3.remove('')print(ls3)
print(ls3)'''
# if i =='':'''编写程序,读取附件data.CSV文件中的数据,并进行如下格式转换:
(1)按行进行倒序排列;
(2)每行数据倒序排列;
(3)使用分号(;)代替逗号(,)分割数据,无空格;按照上述要求转换后将数据输出。
例如:data.csv文件内容如下:
1,2,3
4,5,6
7,8,9
程序输出:
9;8;7
6;5;4
3;2;1'''
'''data=open("data.csv","r")
ls=[]
lt=[]
for i in data:i=i.replace('\n','')ls.append(i.split(','))
ls.reverse()
for k in ls:k.reverse()m=(';'.join(k))print(m)
data.close()
f = open('test.txt','w')
f.write('China\nAmerica\nEngland\n')
f.close()
f = open('test.txt','r')
for line in f.readlines():print(len(line))
f.close()'''
'''
Function to get the max and min values of a list
'''#打开文件
#读取文件里每一行
#将每一行变成字符串
'''n=4
for i in range(n):for j in (1,i+1):#元组print(str(i*j)+' ',end="")print()str1='hello world'
print(str1.split())#默认空格切
print(list(str1))s="1+1"
print(eval(s))
s = "11+5in"
print(s[1:-2])
''''''【1】 (程序设计)编写程序,将二维列表数据写入 CSV文件(命名为“out.csv”),用逗号隔开。二维列表如下:[['Name','Age','Gender'],
['Bob','10','male'],
['Ala','12','female'],
['Cindy','12','female'],
['Dan','13','male']]
注意CSV文件的格式''''''csv1=open("out.csv",'w')
a=[['Bob','10','male'],
['Ala','12','female'],
['Cindy','12','female'],
['Dan','13','male']]
for i in a:csv1.write(','.join(i)+'\n')
csv1.close()''''''编写以下三个函数并依次调用,注意在每个函数内部打开文件并关闭。
(1)定义函数def f_write():用随机函数生成10行数据,每行数据个数3到8个不等,
每个整数的范围为[-50,50]。把这些数据保存为data.txt
(2)定义函数def f_read(),用read函数求文件data.txt中全部数字的
最大值(不能用max,sort函数),并输出
(3)定义函数def r_readlines(),用readlines()函数读文件,计算文件data.txt每一行各个数的和,并输出和的最大值。'''
'''from random import *
seed(1000)
def f_write():a=open("data.txt","w")for i in range(10):b=randint(3,8)for k in range(b):a.write(str(randint(-50,50))+",")a.write("\n")a.close()
f_write()
def f_read():bj = []a = open("data.txt", "r")for i in a:b = i.split(",")b.remove("\n")q = -51for k in range(len(b)):if int(b[k]) > q:q = int(b[k])bj.append(q)p = -51for k in range(len(bj)):if int(bj[k]) > p:p = int(bj[k])print("用read求全部数字的最大值:{}".format(p))a.close()
f_read()
def r_readlines():a=open("data.txt","r")b=a.readlines()for i in b:m=i.split(',')m.remove('\n')sum=0bj=[]for s in m:sum=sum+int(s)bj.append(sum)print("用readlines求每行和的最大值:{}".format(max(bj)))a.close()
r_readlines()'''#编写程序,计算1到100的阶乘,把阶乘结果保存到文本文件“阶乘.txt”
'''a=open("阶乘.txt","w")
for i in range(1,101):jc=1for k in range(1,i+1):jc=jc*ka.write("{}!={}\n".format(i,jc))
a.close()'''#编写程序,根据附件的高考模拟考试成绩表,输出每个班最高分的学生姓名,班别,总分(从高到低)如有相同的只输出一个。
'''a=open("2015年5月高三模拟考成绩.csv","r",encoding="utf8")
l=[]
sum=0
i=a.readlines()
for b in i[2:-3]:m = b[0:-1]k=m.split(',')l.append(k)l2=[]
for q in l:l3=[]t=0if q[0]!='':for o in q[3:]:s=eval(o)t=t+sl3.append(q[1])l3.append(q[2])l3.append(t)l2.append(l3)
z=sorted(l2,key=lambda x:x[0])
z2=z[3:]
z3=sorted(z2,key=lambda x:x[-1])
l4=[z3[-1]]
for f in z3[-2::-1]:for d in l4:if f[0]==d[0]:breakelse:l4.append(f)
print(l4)
a.close()''''''for j in z[3:]:h=0g=0f=["0"]if j[0]==302+h:if j[-1]>g:g=j[-1]f[0]=jprint(j)else:h+=1
''''''
a=open("2015年5月高三模拟考成绩.csv","r",encoding="utf8")
l=[]
sum=0
i=a.readlines()
for b in i[2:-3]:m = b[:-1]k=m.split(',')l.append(k)
def zg(n,m):l1 = sorted(l, key=lambda x: x[0])[3:]z3 = sorted(l1, key=lambda x: eval(x[n]))l4 = [z3[-1]]l5=[z3[-1][1:3]]for f in z3[-2::-1]:if f[n]==l4[0][n]:l5.append(f[1:3])else:continueprint("{}单科最高分为{}".format(m,l5))
yw=zg(3,"语文")
sx=zg(4,"数学")
yy=zg(5,"英语")
wl=zg(6,"物理")
hx=zg(7,"化学")
sw=zg(8,"生物")''''''下载附件,编写程序找出“整数.txt”中素数(质数)的个数,
并求出这些素数(质数)的和。数据之间用逗号隔开,
但可能有连续的空格,程序中要注意判断。''''''a=open("整数.txt","r")
l=a.readlines()
l2=[]
for i in l:k=i[:-1].split(",")for w in k:l2.append(w)def IsPrime(m):if m ==1 or m=='':return Falseelif m==2:return Trueelse:for i in range(3,m-1):if m%i==0:return Falseelse:continueelse:return True
sum=0
jh=0for z in l2:if z=='' or z==' ':continueelse:p=int(z)if IsPrime(p):sum=sum+pjh+=1else:continue
print("素数个数为:{},和为:{}".format(jh,sum))
''''''def reverse(s):if len(s)==1:return selse:return s[-1:0:-1]+ s[0]
str = input("请输入一个字符串: ")
print(reverse(str))
''''''list1 = ["hello", "world", "python","java", "pascal"]
print(max(list1))
print(min(list1))#一个一个字母的Unicode码
print(len(list1))''''''name_score={ 'GimGoon': 100, 'Tian': 100, 'Doinb': 0, 'LWX': 50, 'Crisp': 80 }ct = 0
for key in name_score:if name_score[key]<60:ct+=1print(ct)'''#输入一个正整数,输出它的因子分解式。如输入132,则输出132=1*2*2*3*11.
'''zs=eval(input("请输入一个整数:"))
sx=zs
ls=[]
for k in range(zs):for i in range(2, zs+1):if sx % i == 0:ls.append(i)sx=sx/ibreak
sc=''
for m in ls:sc=sc+"*"+str(m)
print("{}=1".format(zs)+sc)''''''你现在有1万元,假定每年的投资收益一样。如果每年投资收益为10%,
一年后你会有11000元,二年后你将会拥有12100元...如果编写程序,
计算每年至少有多少投资收益,5年后1万元才会变成2万元。
要求结果保留小数点后两位,如13.45%。'''
'''import math
i=math.pow(2,1/5)-1
print(str(round(i*100,2))+'%')''''''编写程序,利用公式e=1+1/1!+1/2!+1/3!+...+1/n!
计算自然对数e的近似值。n在运行时由键盘输入。''''''n=eval(input("请输入一个整数:"))
e=1
for i in range(1,n+1):d = 1 #看清楚哪个量要重复,哪个量要更新for k in range(1,i+1):d=d*ke+=1/d
print(e)''''''
输入两个字符串,判断这两个字符串是否为换位字符串。
换位字符串是指组成字符串的字符相同但位置不同,比如字符串”aabbcc"与"abcabc"就是换位字符串,
但"aabbcc"与"aabbca"就不是换位字符串。'''
'''a=list(input("第一个字符串:"))
b=input("第二个字符串:")
b1=list(b)
for i in a:if i in b1:b1.remove(i)
print(b1)
if b1==[]:print("是换位字符")
else:print("不是换位字符")
''''''一个硬币有正反两面,编写程序,用0表示硬币的正面,
用1表示硬币的反面,计算投掷硬币1000次,正面朝上的概率,
并输出(保留小数点后2位)。'''
'''import random
js=0
for i in range(1000000):b=random.randint(0,1)js=js+b
print(round(js))''''''赌博游戏。玩家选择 1 到 6 之间的一个数,并下 1 块钱的赌注。然后,庄家同时抛掷三颗骰子。
如果这三颗骰子中都没有你选的数,你将输掉那 1 块钱;
如果有一颗骰子的点数是你选的数,那么你不但能收回你的赌注,还能反赢 1 块钱;
如果你选的数出现了两次,你将反赢 2 块钱;如果三颗骰子的点数都是你选的数,你将反赢 3 块钱。
假定一开始你有10000元,编写程序,用随机函数验证
(注意:只能用random.random()函数,不能用其它随机函数),玩100000次后你有多少钱?
对所有的赌博游戏,有一种永不会亏的策略,那就是拒绝赌博!''''''import random
money=10000
def shengcheng():sc=0while sc not in [1,2,3,4,5,6]:sc = round(random.random() * 10)return scdef yici(n):a=shengcheng()b =shengcheng()c =shengcheng()ls=[a,b,c]t=0for i in ls:if n==i:t+=1if t==0:return -1elif t==1:return 1elif t==2:return 2elif t==3:return 3for i in range(100000):n=shengcheng()money+=yici(n)
print(money)''''''2019高考数学I卷)甲、乙两队进行篮球决赛,
采取七场四胜制(当一队赢得四场胜利时,该队获胜,决赛结束).
根据前期比赛成绩,甲队的主客场安排依次为“主主客客主客主”.设甲队主场取胜的概率为0.6,
客场取胜的概率为0.5,且各场比赛结果相互独立。
用随机函数模拟100000次,求甲队以4∶1获胜的概率。''''''
import randomdef zhu():s=random.randint(1,100)if s>60:return Falseelse:return True
def ke():s=random.randint(1,100)if s>50:return Falseelse:return Truedef js():j=0y=0for i in range(2):if zhu():j+=1else:y+=1for i in range(2):if ke():j += 1else:y += 1if y==4 or j==4:return 40else:if zhu():j+=1else:y+=1if j==4:return 41elif y==4:return 14elif j==3:if ke():j += 1else:y += 1if j==4:return 42elif j==3:if zhu():j += 1else:y += 1if j==4:return 43else: return 34elif y==3:if ke():j += 1else:y += 1if y==4:return 24elif y==3:if zhu():j+=1else:y+=1if y==4:return 34else:return 43
ls=[]
for i in range(100000):ls.append(js())
shu=ls.count(41)
print("甲队以4∶1获胜的概率:{}".format(shu/100000))''''''编写程序,根据附件的高考模拟考试成绩表,输出语数英三科总分最高的前20名学生姓名
,班别(如有相同的分数都要输出,比如第20名到22名分数相同,则都要输出)。'''csv_1=open("成绩.csv",'r',encoding='utf-8')
cj={}
lb=csv_1.readlines()
lb1=[]
for k in lb:lb1.append(k[:-1].split(','))for m in lb1:if m[0]=='':lb1.remove(m)for i in lb1:zf=eval(i[1])+eval(i[2])+eval(i[3])cj[i[0]]=[zf]cj_1=list(cj.items())
pm=sorted(cj_1,key=lambda x:x[1][0])[-1::-1]
print("学号 总分")
for n in pm:print("{} {} ".format(n[0],n[1][0]))