1.6位奖券号码——新建一Python程序,实现以下功能:某活动奖券的中奖号码
jq=input('请输入你的4位奖券号码:\n')
if jq=='2022':
print('特等奖')
elif jq[-3:]=='668':
print('一等奖')
elif jq[-2:]=='20':
print('二等奖')
elif jq[-1]=='6':
print('三等奖')
else:
print('没中奖')
2.密码加密——新建一Python程序,实现以下功能:从键盘任意输入字符串m,对m加密,加密后为n
a1='0123456789'
a2='1234567890'
s=input('请输入原密码:\n')
m=''
print('转换后的密码:')
for c in s:
if c in a1:
m=m+a2[int(c)]
else:m=m+c
print(m)
3.统计字符串数字,字母···——新建一Python程序,实现以下功能:创建s变量,然后从键盘输入一行包含数字、字母、空格和其他字符
s=input("请输入一行字符:\n")
zm=sz=kg=qt=0
for c in s:
if c.isalpha():
zm=zm+1
elif c.isdigit():
sz=sz+1
elif c.isspace():
kg=kg+1
else:
qt=qt+1
print("“{}”中包含:\n数字{}个,字母{}个,空格有{}个,其他有{}个".format(s,sz,zm,kg,qt))
4.凯撒密码加密——编写程序,对输入字符串进行凯撒密码加密
line1=input('输入原文')
line2=''
for c1 in line1:
if c1.isalpha():
if c1 in 'xyzXYZ':
c2=chr(ord(c1)+3-26)
else:
c2=chr(ord(c1)+3)
line2+=c2
else:
line2+=c1
print('密文:',line2)
5.回文数——新建一Python程序,实现以下功能:“回文数”是指从左向右读和从右向左读都一样的正整数
a=x=int(input())
b=int(str(a)[::-1])
n=0
while True:
s=a+b
n=n+1
a=s
b=int(str(a)[::-1])
if str(s)==str(s)[::-1]:
print('{}经过{}步得到了{}'.format(x,n,s))
break
else:
if n>30:
print('超过30步')
break
6.成绩评定1——新建一Python程序,实现以下功能:输入5个成绩,按照优秀、合格、不合格进行评级
def evaluate_grades():
grades = []
for i in range(5):
grade = float(input("请输入第{}个成绩:".format(i+1)))
grades.append(grade)
evaluations = []
for grade in grades:
if grade >= 90:
evaluations.append("优秀")
elif grade >= 60:
evaluations.append("合格")
else:
evaluations.append("不合格")
print("评级结果:")
for i in range(5):
print("第{}个成绩:{},评级:{}".format(i+1, grades[i], evaluations[i]))
evaluate_grades()
7.随机5个8位密码——编写程序,随机密码生成。在字母和数字组成的列表中随机生成5个8位密码
import random
s=list('abcdefghij0123456789klmnopqrstuvwxzy01234567890ABCDEFGHIJKLMNO0123456789PQRSTUVWXYZ')
for c in range(5):
random.shuffle(s)
s1=random.sample(s,8)
print(''.join(s1))
8.20个随机三位数,输出奇偶等——新建一Python程序,实现以下功能:利用循环产生20个随机三位正整数的列表list,然后将正整数中偶数存放在even列表中
from random import *
x=[randint(100,999) for i in range(20)]
print('原始列表为:\n',x)
os=[]
js=[]
os=[i for i in x if i%2==0]
js=[i for i in x if i%2!=0]
os.sort()
js.sort(reverse=True)
print('偶数列表为:{}'.format(os))
print('奇数列表为:{}'.format(js))
print('原列表最大值为:{},最小值为:{},和为:{}'.format(max(x),min(x),sum(x)))
9.50个0-9随机整数,频率统计——新建一Python程序,实现以下功能:生成50个0-9之间的随机整数列表存放在list1列表中,
import random
list1=[random.randint(0,9) for c in range(50)]
n=0
list2=[]
for c in list1:
print(c,end=' ')
n=n+1
if n%10==0:
print( )
for c in list1:
if c not in list2:
list2.append(c)
list3=sorted(list2)
for c in list3:
print("数字{}有{}个".format(c,list1.count(c)))
10.员工考核——新建一Python程序,实现以下功能:公司一年一度的年度晋升考核结束了,35岁(含)以上的员工
n=int(input('请输入人员总数:'))
list1=[input().split() for i in range(n)]
js=0
for i in range(n):
if int(list1[i][0])>=35 and int(list1[i][1])>=80 or int(list1[i][0])<35 and int (list1[i][1])>=90:
list1[i].append('晋升')
js=js +1
else:
list1[i].append('原岗')
print (list1[i][2])
print ('共有{}人晋升'.format(js))
11.N个班成绩分析(高、低、平均)——某课程进行成绩分析,共N个班的成绩,输入N的值及各班的各位同学的成绩
n=int(input())
cj=[input().split() for c in range(n)]
for a in cj:
for b in range(len(a)):
a[b]=int(a[b])
print('班级人数:{},最高分:{},最低分:{},平均分:{:.1f}'.format(len(a),max(a),min(a),sum(a)/len(a)))
12.第2代居民身份证号码,找出年龄最大最小学生——第2代居民身份证号码共有18位,从左至右依次为:六位数字地址码
n=int(input('请输入学生数:'))
print('请输入姓名和身份证,以空格隔开:')
max=min=input()
for i in range(1,n-1):
ls=input()
if int(ls.split()[1][6:14])<int(max.split()[1][6:14]):
max=ls
if int(ls.split()[1][6:14])>int(min.split()[1][6:14]):
min=ls
print('\n',max,'\n',min)
13.班级学生名字、成绩、平均分——创建班级学生的姓名和成绩字典
n=int(input('请输入班级人数:\n'))
date={}
max=0
min=100
print('请输入每位同学的姓名和成绩,以空格分隔:')
for i in range(n):
list1=input().split()
date[list1[0]]=int(list1[1])
if date[list1[0]]>max:
max=date[list1[0]]
s1=list1[0]+'同学的成绩最高:'+ str(max)+',恭喜'
print('成绩为:\n{}'.format(date))
print('平均成绩为:{:.2f}'.format(sum(date.values())/n))
14.英文字母频率统计——英文字母频率统计,输入一个字符串(包含英文字母、数字)
s=input('请输入一段英文:\n').lower()
s1=[]
for c in s:
if c.isalpha():
if c not in s1:
s1.append(c)
s2=sorted(s1)
for c in s2:
print("字母{}有{}个".format(c,s.count(c)))
15.缺课学生名单——输入一个小组的学生名单,在输入一个到课学生名单
print('第一行为学生名单,第二行为到课学生名单,名字之间用空格分隔')
a=input().split()
b=input().split()
que=[]
for x in a:
if x.lower() not in b:
que.append(x)
print('缺课名单:')
print(' '.join(que))
16.体操比赛选手得分——体操比赛中,评委会给参赛选手打分。
n=eval(input())
s=input().split()
s1=[int(x) for x in s]
fs=sum(s1)-max(s1)-min(s1)
print('输出:{:.2f}'.format(fs/(n-2)))
17.AB两组销售总额——某公司销售部分为AB两组,对销售部员工的销售额
print('请输入:')
n=int(input())
d=dict()
for i in range(0,n):
a,b,c=input().split()
d[b]=d.get(b,0)+int(c)
e=list(d.items())
print('输出结果:')
all=0
for x in e:
print(x[0],x[1],sep=' ')
all=all+x[1]
print('All',all)
18.100个随机两位整数,txt文件,最后输出奇数个数——产生100个随机的两位整数
from random import *
list1=[randint(10,99) for i in range(100)]
list2=[i for i in list1 if i%2==1]
with open('result.txt','w') as f1:
for i in range(len(list2)):
f1.write('{}\t'.format(list2[i]))
if (i+1)%10==0:
f1.write('\n')
f1.write('\n产生的100个随机数中的奇数一共有:{}个'.format(len(list2)))
flie3.txt和result.txt文件Python成绩统计——新建一Python程序,实现以下功能:“flie3.txt”19.文件存放着某班学生的Python程序设计成绩
f1=open('file.txt','r')
f2=open('result3.txt','w')
list1=f1.readline()
del list1[0]
s=[]
f2.write('{}\t{}\n'.format('学号','总评'))
for c in list1:
x=c.split()
cj=[int(i) for i in x[1:3]]
zp=cj[0]*0.4+cj[1]*0.6
s.append(zp)
f2.write('{}\t{}\n'.format(len(s)))
a=b=c=0
for x in s:
if 85<=x<=100:
a=a+1
elif x>=60:
b=b+1
else:
c=c+1
f2.write('总人数:{}人'.format(len(s)))
f2.write('总评85以上:{}人\n60-84分:{}人\n69分以下:{}人'.format(a,b,c))
f2.write('总评平均分:{:.2f}'.format(sum(s)/len(s)))
f1.close()
f2.close()
20.扇叶图形——绘制如下的扇叶图形
from tkinter import *
root=Tk()
root.title('绘制扇叶图形')
cv=Canvas(root,bg='white',width=600,height=600)
cv.pack()
for c in range(6):
cv.create_arc(100,100,500,500,start=60*c,extent=30,outline='blue',fill='red',width=5)
root.mainloop()
21.med(nums)函数,中位数——编写一个med(nums)的函数,nums为一个列表
def med(nums):
c=len(nums)
if c%2==1:
x=nums[c//2]
else:
x=round((nums[c//2-1]+nums[c//2])/2,2)
return x
print('请输入用空格分隔的若干个数字:')
s=[int(x) for x in input().split()]
print(med(s))
22.阶乘之和——编写一个f(n)的函数,n是一个整数
def f(n):
s=1
for i in range(2,n+1):
s=s*i
return s
print('请输入用空格分隔的若干个数字:')
a=[int(i) for i in input().split()]
print(sum(f(i) for i in a))
23.多项式y+yy+...y...y——编写一个函数(x,y),其中x,y为两个数字
def f(x,y):
t=s=0
for i in range(x):
t=t+y
s=s+t
t=t*10
return s
print('请输入两个用空格分隔的数字:')
N,j=[int(i) for i in input().split()]
K=f(N,j)
print(K)
24.isLucky,幸运数字——编写一个isLucky(s,digit)的函数,s为一个数字字符串
def isLucky(s,digit):
k=0
for i in s:
if i==digit:
k=k+1
if k/len(s)*1.2>=0.6:
return True
else:
return False
print('请输入用空格分隔的两个数字:')
s,digit=input().split()
if isLucky(s,digit):
print('Lucky!')
else:
print('So so.')
25.水仙花数——编写一个Arms(x)的函数,x为一个三位数数字
def Arms(x):
a=str(x)
bw=int(a[0])
sw=int(a[1])
gw=int(a[2])
if bw**3+sw**3+gw**3==x:
return True
else:
return False
print('所有的水仙花数:')
s=[str(c) for c in range(100,1000) if Arms(c)]
print(' '.join(s))
26.判断年月日——编写一个days(year,month,day)的函数
(没有导包,导包会更方便,以下是字典实现)
def days(year,month,day):
d={'1':31,'2':28,'3':31,'4':30,'5':31,'6':30,'7':31,'8':31,'9':30,'10':31,'11':30,'12':31}
if year%4==0 and year%100!=0 or year%400==0:
d['2']=29
days=0
if month>1:
for c in range(1,month):
days=days+d[str(c)]
days=days+day
else:
days=day
return days
y,m,d=eval(input('请输入判断的年月日:'))
sum=days(y,m,d)
print('{}月{}日是{}的第{}天'.format(m,d,y,sum))
27.成绩分级评判——编写一个grade(a)的函数,a为一个数字。
def grade(a):
if 90<=a<=100:
return'优秀'
elif 80<=a<=89:
return'良好'
elif 70<=a<=79:
return'中等'
elif 60<=a<=69:
return'合格'
else:
return'不合格'
print('请输入成绩:')
s=[int(c) for c in input().split()]
for c in s:
print(grade(c),end=' ')
28.华东地区人数——编写一个tj(Is)的函数,Is包含若干个身份证号的列表
def tj(ls):
c=0
for i in ls:
a=i[0:2]
if 31<=int(a)<=37:
c=c+1
return c
print('请输入用空格分隔的若干个身份证号码:')
s=[x for x in input().split()]
st=tj(s)
print(st)
29.斐波那契数列——编写程序,生成Fibonacci数列前20项
a=b=1
s=[]
s.append(a)
s.append(b)
for i in range(1,19):
c=a+b
s.append(c)
a=b
b=c
print(s)
30.求1到n(包括n)中所有奇数的乘积——编写程序,输入正整数n的值,输出1到n中所有奇数的乘积。
n=int(input('输入一个正整数:'))
lst=[i for i in range(1,n+1) if i%2!=0]
cj=1
for i in range(len(lst)):
cj=cj*lst[i]
print('奇数积为{}'.format(cj))
从键盘输入正整数n,然后输出n之后的第一个素数。
n=int(input('n='))
m=n+1
while True:
for i in range(2,m):
if m%i==0:break
else:
break
m=m+1
print(m)
32.成绩评定2——新建一Python程序,实现以下功能:输入5个成绩,按照优秀、良好、合格、不合格进行评级,260分(含)以上为优秀,240分(含)以上为良好,200分(含)以上为合格,200分以下为不合格。
def grade(a):
if a>=260:
b='优秀'
elif a>=240:
b='良好'
elif a>=200:
b='合格'
else:
b='不合格'
return b
33.回文语句——输入一行文字,判断这句话是不是回文语句。回文语句是指正读和倒读都相同的句子。
s=input('输入一行字符')
if s==s[::-1]:
print('该字符是回文')
else:
print('该字符串不是回文')
34.计算标识符中各个字母的数值之和——输入1个字母标识符,计算标识符中各个字母的数值之和,其中A=a=1,B=b=2……..,Z=z=26。
s=input('请输入一串字符串')
s1=s.upper()
sum=0
for i in s1:
s2=ord(i)-64
sum+=s2
print(sum)
35.产生20个0到100随机整数的列表并输出——产生20个0到100随机整数的列表并输出,将前10个元素升序排列,后10个元素降序排列,输出结果
import random
list1=[random.randint(0,100) for i in range(20)]
print('原始列表为:',list1)
list2=list1[0:10]
list3=list1[10:20]
list2.sort(reverse=False)
print('前半段升序列表为:',list2)
list3.sort(reverse=True)
print('后半段降序列表为:',list3)
36.10个随机数,偶数平方,奇数不动——产生10个1位随机数并输出,完成将其中的偶数变成它的平方,奇数保持不变后再输出。
import random
list1=[random.randint(0,10) for i in range(10)]
for a in list1:
if a%2==0:
print(a*a)
else:
print(a)
37.N个两位数,比较大小,位置等——输入n,产生n个2位随机数并输出,求其中的最大数、最小数、及平均值,最大数、最小数所在位置。
n=int(input())
import random
list1=[random.randint(10,100) for i in range(n)]
print(list1)
print('最大数为{},最小数为{},平均值为:{}'.format(max(list1),min(list1),sum(list1)/n))
print('最大数在第{}个,最小数的在第{}个'.format((list1.index(max(list1)))+1,(list1.index(min(list1)))+1))
38.8个六位数密码——编写程序,随机密码生成。在字母和数字组成的列表中随机生成8个6位数密码。
print('随机产生的8个6位数密码为:')
import random
txt=list('0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')
for i in range(8):
psd=''
for i in range(6):
psd=random.choice(txt)+psd
print(psd)
停留在世界边缘,与之惜别