Python基础练习题目+答案

十一道题扫清Python基础知识 !

源程序.html

#1、编写程序,求1-100中偶数之和。
i=0
sum=0
while i<=100:
    if i %2==0:
        sum+=i
    i+=1
print(sum)

2550


``` #2、利用字典编写程序实现统计字符串str=”skdaskerkjsalkj”,请统计出该字符串各字母出现的次数。 str='skdaskerkjsalkj' dict1={} for i in str: dict1[i]=str.count(i) print(dict1)
{'s': 3, 'k': 4, 'd': 1, 'a': 2, 'e': 1, 'r': 1, 'j': 2, 'l': 1}

```
'''3、已知列表li_num1=[4,5,2,7]和li_num2=[3,6],请编程将这个两个列表合并为一个列表, 并将合并后的列表中的元素从大到小的顺序排序。''' li_num1=[4,5,2,7] li_num2=[3,6] list3=li_num1+li_num2 a=sorted(list3,reverse=True) print(a)

[7, 6, 5, 4, 3, 2]


4、从键盘输入任意个的数字数据,保存到列表中,去除重复数据,然后计算并输出以这些列表数据为半圆弧的半径,求半圆弧的周长,输出结果保留两位小数。
list1= []
π=3.14
n = int(input('准备输入多少个整数数据:'))
for i in range(n):
    num= int( input('数据%d:' % (i+1)) )
    list1.append(num)
list2=list(set(list1))
for i in list2:
    c=(round(π*i+2*i,2))
    print("%s为半径的半圆弧周长为:%s"%(i,c))

准备输入多少个整数数据:3
数据1:1
数据2:2
数据3:2
1为半径的半圆弧周长为:5.14
2为半径的半圆弧周长为:10.28


5、如今的社交软件层出不穷,虽然功能千变万化,但都具有好友管理系统的基本功能,包括添加好友、删除好友、备注好友、展示好友等。按下图样式编写程序,模拟实现下图好友管理系统。 !

person=[]
def menu():
    print("欢迎使用好友管理系统")
    print("1:添加好友")
    print("2:删除好友")
    print("3:备注好友")
    print("4:展示好友")
    print("5:退出")

while True:
    menu()
    num=input('请输入你要选择的序号(1-5):')
    if num =='1':
        name=input('添加的好友名字:')
        person.append(name)
    elif num=='2':
        inname=input('删除的好友名字:')
        if inname in person:
            person.remove(inname)
            print("删除成功")
        else:
            print("没有该名字")
    elif num=='3':
        name3=input('请输入要备注的名字:')
        if name3 in person:
            name4=input('备注为:')
            a=person.index(name3)
            person[a]=name4
        else:
            print('没有该好友')
    elif num=='4':
        print(person)
    elif num =='5':
        print("退出成功")
        break
    else:
        print("序号错误")

欢迎使用好友管理系统
1:添加好友
2:删除好友
3:备注好友
4:展示好友
5:退出
请输入你要选择的序号(1-5):5
退出成功


6、制作简单通讯录,界面功能如下: 要求通讯录使用列表+字典类型保存,包括的信息内容有:姓名、手机号、邮箱、地址。根据输入的功能序号执行相应的功能,其中查找、删除,修改都是按姓名进行相应的操作。

#6
def menu():
    print('='*20)
    print("欢迎使用通讯录:")
    print("1.添加通讯录")
    print("2.查看通讯录")
    print("3.删除通讯录")
    print("4.修改通讯录")
    print("5.查找联系人")
    print("6.退出")
    print('='*20)
    
dict1={}
dict2={}
while True:
    menu()
    num=input('请输入你选择的序号(1-6):')
    if num=='1':
        inname=input('请输入要添加的姓名:')
        inphone=input('请输入该联系人手机号码:')
        inemail=input('请输入该联系人的邮箱:')
        inaddress=input('请输入该联系人的地址:')
        dict2={'手机号码':inphone,'邮箱':inemail,'地址':inaddress}
        dict1[inname]=dict2
        print("好友添加成功!")
    elif num=='2':
        for i in dict1:
            print(i+':',dict1[i])
    elif num=='3':
        name2=input('请输入要删除的联系人姓名:')
        if name2 in dict1:
            dict1.pop(name2)
            print("删除成功!")
        else:
            print("没有该好友")
    elif num=='4':
        name3=input('请输入要修改联系人信息的名字:')
        if name3 in dict1:
            dict3={}  
            phone4=input('请输入修改后的手机号码:')
            email4=input('请输入修改后的邮箱:')
            address4=input('请输入修改后的的地址:')
            dict3={'手机号码':phone4,'邮箱':email4,'地址':address4}
            dict1[name3]=dict3
            print("修改成功")
        else:
            print("没有该联系人")
    elif num=='5':
        name5=input('请输入要查找信息的联系人姓名:')
        if name5 in dict1:
            print('联系人"'+name5+'"的通讯录信息:',dict1[name5])
            
        else:
            print("没有该联系人")
    elif num=='6':
        print("退出成功!")
        break
    else:
    
        print("没有该序号")

欢迎使用通讯录:
1.添加通讯录
2.查看通讯录
3.删除通讯录
4.修改通讯录
5.查找联系人
6.退出

请输入你选择的序号(1-6):6
退出成功!


7.用户注册验证:很多网站上都有注册功能,用户在使用注册功能时,需要遵守网站的注册规则。 本题下面规则如下:1.用户名规则: 长度为6~10个字符,以汉字或字母或下划线开头; 2.密码规则:长度为6-10个字符,必须以字母开头,包含字母数字下划线; 3.手机号规则:中国大陆手机号码。 若用户输入的注册信息格式有误,系统会对用户进行提示

#7
import re
def show():
    print("="*66)
    print("= 注册规则:                                                      =")
    print("=用户名: 长度为6-10个字符,以汉字或字母或下划线开头              =")
    print("=密码规则:长度为6-10个字符,必须以字母开头,包含字母数字下划线  =")
    print("=手机号规则:中国大陆手机号码                                    =")
    print("="*66)
num=1
while num<=3:
    show()
    p1=re.compile(r'[\u4e00-\u9fa5A-Za-z_]{6,10}')
    p2=re.compile(r'\b[A-Za-z][\w]{5,9}')
    p3=re.compile(r'[0-9]{11}')
    inname=input('请输入注册用户名:')
    name=p1.search(inname)
    if name!=None:
        inpassword=input('请输入注册密码:')
        password=p2.search(inpassword)
        if password!=None:
            inphone=input('请输入手机号:')
            phone=p3.search(inphone)
            if password!=None:
                print("注册成功!")
                print('用户名:%s  密码:%s  手机号:%s'%(inname,inpassword,inphone))
                break
            else:
                print("手机号格式错误")
        else:
                print("用户密码格式错误")
    else:
        print("用户名格式错误!")
        print("错误%s次"%num)
        num+=1

= 注册规则: =
=用户名: 长度为6-10个字符,以汉字或字母或下划线开头 =
=密码规则:长度为6-10个字符,必须以字母开头,包含字母数字下划线 =
=手机号规则:中国大陆手机号码


8、请设计一个简单的包含二门成绩的成绩管理系统,然后完成对成绩户输入信息,查询功能,修改,删除等操作。要求使用字典保存学生成绩。具体如图所示:

def show_menu():
    print("{:+^40}".format("校园成绩管理系统"))
    print("1.输入成绩")
    print("2.查询成绩成绩")
    print("3.删除成绩成绩")
    print("0.退出系统")
    
    print("{:+^48}".format(""))
show_menu()
dict1={"刘名宇":{'数据结构':90,"程序设计":80,"平均成绩":85},
          "蔡连愉":{'数据结构':90,"程序设计":90,"平均成绩":90},
          "郑鑫城":{'数据结构':80,"程序设计":80,"平均成绩":80},
          "丁崇凯":{'数据结构':80,"程序设计":80,"平均成绩":80},
          "江旭伟":{'数据结构':90,"程序设计":90,"平均成绩":90},
          "洪玉航":{'数据结构':80,"程序设计":80,"平均成绩":80},
      }
while True:
    num=input('请输入选择功能序号(0-3):')
    if num=='1':
        dict2={}
        name=input('请输入添加名字:')
        score1=int(input('请输入数据结构成绩'))
        score2=int(input('请输入程序设计成绩'))
        avg=round((score1+score2)/2,2)
        dict2={'数据结构':score1,'程序设计':score2,'平均成绩':avg}
        dict1[name]=dict2
        print("添加成功")
    elif num=='2':
        name2=input('请输入要查询成绩的姓名:')
        print(name2+':',dict1[name2])
    elif num=='3':
        name3=input('请输入要删除成绩的姓名')
        dict1.pop(name3)
        print("删除成功!")
    elif num=='0':
        print("退出成功")
        break

++++++++++++++++校园成绩管理系统++++++++++++++++
1.输入成绩
2.查询成绩成绩
3.删除成绩成绩
0.退出系统
++++++++++++++++++++++++++++++++++++++++++++++++
请输入选择功能序号(0-3):0
退出成功


9、设计一个网络平台的登录管理系统,以管理员身份登陆后可以对平台里面的会员进行管理:添加普通新会员,查看会员,删除普通会员等。 请设计实现以下功能: 1:设置管理员的用户名为supervisor,密码为:189666 2:实现管理员登陆的用户名和密码是否正确判断,如果是管理员则进入系统,进行界面功能选择: **欢迎进入会员管理系统**** 1.添加新会员 2.查看会员 0.退出系统


其中会员信息主要由:会员名称,会员密码组成。以上功能在练习4的基础上可以增加实现修改,删除等其它功能。 3:如果登陆失败,则提示“管理员用户名,密码错误登陆失败”提示信息。也可以设置允许连续输入3次,如果3次都是错误则不是管理员自动退出。

#9
def show_menu():
    print("*********欢迎进入会员管理系统*********")
    print("**       1.添加新会员               **")
    print("**       2.查看会员                 **")
    print("**       0.退出系统                 **")
    print("**************************************")
a='supervisor'
b='189666'
list1=[]
list2=[]
num=1
while num<=3:
    inname=input('请输入管理员用户名:')
    inpassword=input('请输入管理员密码:')
    if inname==a:
        if inpassword==b:
            print("登录成功!进入会员管理系统>>>")
            while True: 
                            show_menu()
                            choice=input('请输入序号(0-2)')
                            if choice=='1':
                                name1=input('请输入要添加的会员名称:')
                                password1=input('请输入要添加的会员密码:')
                                list1.append(name1)
                                list2.append(password1)
                            elif choice=='2':
                                num=len(list1)
                                print("会员列表:")
                                for i in range(num):

                                    print("会员名称:%s\t,会员密码:%s"%(list1[i],list2[i]))
                            elif choice=='0':
                                print("退出成功")
                                break
                            else:
                                print("输入序号错误")
        else:
                print("密码错误!")
                print("已错误%s次"%num)
                num+=1
                if num>3:
                    print("错误三次,强制退出!")
                
    else:
            print("用户名不存在!")
            print("已错误%s次"%num)
            num+=1
            if num>3:
                    print("错误三次,强制退出!")




10、请编写一个,模拟录取学校外联部招聘的查询系统。如果未报名,则显示“您未在社团网进行报 名,不能参加招聘考试”;如果已报名,但笔试成绩未达到80分及以上,则显示“您的笔试成绩没有通过”,如果笔试成绩达标但面试成绩未达到90分及以上,则显示“笔试成绩合格,但您的面试成绩没有通过”,只有笔试和面试成绩平均成绩达到85分以上者,则显示“恭喜您被录取了”。

#10
sName=('张三','李四','王五','赵六')
while True:
    inname=input('请输入你的姓名:')
    if inname in sName:
        bishi=int(input('请输入笔试成绩:'))
        mianshi=int(input('请输入输入面试成绩:'))
        avg=int(round((bishi+mianshi)/2,2))
        print("笔试成绩:%d,面试成绩:%d,平均成绩:%0.2f"%(bishi,mianshi,avg))
        if bishi>=80:
                if mianshi>=90:
                    if avg>85:
                            print("恭喜您被录取了!")
                            break

                    else:
                          print("平均分不达标")
    
                else:
                    print("笔试成绩合格,但您的面试成绩没有通过")
        else:
                print("您的笔试成绩没有通过")
    else:
        print("您未在社团网进行报名,不能参加招聘考试")

11、请利用随机数编写程序:为一个40人的班,利用随机函数生成一组50-100的随机整数,每个整数代表一个人的分数,统计成绩低于平均分的学生人数。
import random
list1=[]
list2=[]
count=0
for i in range(40):
    a=random.randint(50,100)
    list1.append(a)
print("成绩表:",list1)
for score in list1:
    count+=score
avg=count/40
print("总分:%s,平均分:%s"%(count,avg))
for i in list1:
    if i<avg:
        list2.append(i)
print("成绩低于平均分“%s”的学生人数:%s"%(avg,len(list2)))
成绩表: [55, 50, 98, 68, 64, 99, 84, 97, 90, 66, 72, 66, 82, 53, 97, 75, 93, 58, 96, 59, 88, 63, 69, 89, 99, 84, 57, 97, 80, 76, 68, 86, 54, 66, 60, 77, 78, 57, 61, 88]

总分:3019,平均分:75.475
成绩低于平均分“75.475”的学生人数:20

你可能感兴趣的:(学习笔记,Python,python)