Python函数练习

(一)编写函数fun1: 模拟轮盘抽奖游戏 轮盘分为三部分: 一等奖, 二等奖和三等奖; 轮盘转的时候是随机的,

如果范围在[0,0.08)之间,代表一等奖, 如果范围在[0.08,0.3)之间,代表 2 等奖, 如果范围在[0.3, 1.0)之间,代表 3 等奖, 模拟本次活动 1000 人参加, 模拟游戏时需要准备各等级奖品的个数.

要求:

1. 函数是无参有返回值的

2. If 选择结构的使用

3、随机库的应用 4、

最后将各个奖项和对应奖项的人数存到字典里

import random


def fun1():
    first_count=0
    second_count=0
    third_count=0

    for i in range(1000):
        n=random.random()
        if 0<=n<0.08:
            first_count+=1
        elif 0.08<=n<0.3:
            second_count+=1
        else:
            third_count+=1

    dict2 = {'一等奖':first_count,'二等奖':second_count,'三等奖':third_count}

    return dict2
print(fun1())

(二)编写函数 fun2:打印出所有的"水仙花数", 所谓"水仙花数"是指一个三位 数,其各位数字立方和等于该数本身。

1. 用代码实现水仙花数,并打印 2.将所有的水仙花数存在列表中,并打印 

def fun2():
    list1=[]
    for i in range(100,1000):
        g=i%10
        s=i//10%10
        b=i//100
        if g**3+s**3+b**3==i:
            print(i)
            list1.append(i)
    return list1
print(fun2())

(三)编写函数 fun3:判断 101-200 之间有多少个素数,并输出所有素数。

1. 求素数的逻辑正确,并能正确实现 2. 将所有素数存到集合中,并打印 

def fun3():
    n_count = 0
    set1=set()
    for i in range(101,201):
        for j in range(2,i):
            if i%j==0:
                break
            else:
                n_count+=1
                set1.add(i)
                break
    print("有%d个素数"% n_count)
    print(set1)
fun3()

 (四)构建一个函数 fun4,参数关键字可变长参数,调用时用变量赋值传参方式。 如果 teacher 为‘Join’,则输出年龄 year, 如果 teacher 为其他,则输出学校 acad。 分别调用两次 (teacher=“Mike”,sex=‘男’,year=22, acad=“北京大学”), (teacher=“Join”,sex=‘女’,year=25, acad=“清华大学”)

要求: (1) 函数的参数是关键字可变长参数的 (2) 键和值分开遍历 (3) 根据字典的键去找值 (4) 输出结果正确 (5) 分别调用并打印结果

def fun4(**kwargs):
    # 分别获取键和值
    keys = kwargs.keys()
    values = kwargs.values()

    # 遍历键
    for key in keys:
        if key == 'teacher':
            if kwargs[key] == 'Join':
                # 如果 teacher 为 'Join',输出年龄 year
                year = kwargs.get('year', '未提供')
                print(f"年龄: {year}")
            else:
                # 如果 teacher 为其他,输出学校 acad
                acad = kwargs.get('acad', '未提供')
                print(f"学校: {acad}")

# 第一次调用
fun4(teacher="Mike", sex='男', year=22, acad="北京大学")

# 第二次调用
fun4(teacher="Join", sex='女', year=25, acad="清华大学")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值