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)