欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

函数练习题

程序员文章站 2022-04-03 17:14:12
...

1.打字软件的正确率

编写函数,计算字符串匹配的准确率,(类似于打字软件)

orginStr为原始内容,userStr为用户输入内容

 

2.模拟轮盘抽奖游戏:

转盘分为三部分:一等奖、二等奖和三等奖

轮盘转的时候是随机的,

如果范围在[0,0.08)之间,代表一等奖

如果范围在[0.08,0.3)之间,代表二等奖

如果范围在[0.3,1)之间,代表三等奖

模拟本次活动1000人参加,模拟游戏时需要准备各等级奖品的个数

import random     
dict={
    '一等奖':(0,0.08),
    '二等奖':(0.08,0.3),
    '三等奖':(0.3,1)
}
def fun():
    count=random.random()
    for k,v in dict.items():
        if  v[0]<=count<v[1]:
            return k
resultdict={}
for i  in range(1000):
    res=fun()
    if res not in resultdict:
        resultdict[res]=1
    else:
        resultdict[res]+=1
for k,v in resultdict.items():
    print(k,'----->',v)

函数练习题

 

3.打地鼠游戏

编写代码模拟打地鼠的小游戏i,

假设一共有5个洞口,老鼠在里面随机一个洞口

人随机打开一个洞口,如果有老鼠,代表抓到了,

如果没有,继续打地鼠,但是地鼠可能会跳到其他洞口

import random
while True:
    answer = int(input('输入你想打的洞:'))
    result = random.randint(1, 5)
    if answer==result:
         print("恭喜,打中了")
         exit()
    else:
        print('对不起,没打中')

函数练习题

 

4.用函数及字典实现管理员后台会员管理系统

def userAdd():        ###userAdd添加用户的函数
    print("添加会员信息".center(50, '*'))
    addUser = input("添加会员名:")      ####addUser接收添加的用户
    if addUser in userspass:              #####userspass存储用户名和密码的字典
        print ("用户%s已经存在" % (addUser))
    else:
        addPasswd = input("密码:")                 ###addPasswd接受输入的密码
        userspass[addUser] = addPasswd
        print("添加用户%s成功" % (addUser))


def userdel():       ###userdel删除用户的函数
    print("删除会员信息".center(50, '*'))
    delUser = input("删除会员名:")       ##### delUser接收要删除的用户名
    if delUser not in userspass:
        print('%s用户不存在' %(delUser))
    else:
        userspass.pop(delUser)         #####字典删除了key,对应的value会随着删除

        print("删除会员%s成功!" % (delUser))


def catuser():         ###catuser查看信息的函数
    print("查看会员信息".center(50, '*'))
    for k, v in userspass.items():   ####用来遍历key与value
        print(k, '--->', v)
 ###   print(userspass.items())    ###也可用来查看所有key-value

print("管理员登陆".center(50, '*'))
inuser = input('UserName:')
inpasswd = input('Password:')
userspass={}

if inuser == 'admin' and inpasswd == 'admin':
    print("管理员登陆成功!")
    print("会员管理".center(50, '*'))
    while True:
        print("""
                            操作目录

               1 -    添加会员信息
               2 -    删除会员信息
               3 -    查看会员信息
               4 -    退出
            """)
        choice = input("请选择你的操作:")

        if choice == '1':
            userAdd()
        elif choice == '2':
            userdel()
        elif choice == '3':
            catuser()
        elif choice == '4':
            print('退出成功!!')
            exit()
        else:
            print("请输入正确的选择")
else:
    print("管理员登陆失败!")

函数练习题

5.定义一个函数,输入为一个整形数,输出为该整形数各个位平方之和

且再输入k,a,b三个数,判断(a,b)内有多少个数使f(i)*k=i

def f(n):
    sum=0
    n=str(n)
    for i in n:
        sum+=int(i)**2
    return sum
print(f(13))
print(f(207))
###接收变量k,a,b
s=input('输入三个数:')
#存储整形的为:k,a,b
li=[]
for item in s.split():
    li.append(int(item))
k,a,b=li
##进行判断是否满足条件:
count=0
for i in range(a,b+1):
    if k*f(i)==i:
        count+=1
print(count)

函数练习题