你是蛤蟆秧子跟着甲鱼转,装王八孙子。这是我今天听到最牛逼的一句话。
目录
一、实验目的
二、实验环境
三、实验步骤
四、实验结果
1.系统的增删改等都需要先登录后才能操作。
编写装饰器用于登录验证,再对增删改进行装饰,测试登录验证装饰器是否生效。
2.编写函数f(n),实现输入n的值,求出1~n之和(要求使用递归方式)。
3.素数:只能被1和它本身整除。回文数:从左往右读和从右往左读,数字 相同。如121,1221
需求:编写函数找出所有既是回文数又是素数的3位十进制数。
4.模拟轮盘抽奖游戏:
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的:
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0, 1.0)之间,代表3等奖。
编写函数实现该轮盘抽奖功能
五、实验心得
一、实验目的
1.系统的增删改等都需要先登录后才能操作。
编写装饰器用于登录验证,再对增删改进行装饰,测试登录验证装饰器是否生效。
2.编写函数f(n),实现输入n的值,求出1~n之和(要求使用递归方式)。
3.素数:只能被1和它本身整除。回文数:从左往右读和从右往左读,数字 相同。如121,1221
需求:编写函数找出所有既是回文数又是素数的3位十进制数。
4.模拟轮盘抽奖游戏:
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的:
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0, 1.0)之间,代表3等奖。
编写函数实现该轮盘抽奖功能
二、实验环境
安装pycharm2023.3.4
安装适配的jdk
三、实验步骤
1.系统的增删改等都需要先登录后才能操作。
编写装饰器用于登录验证,再对增删改进行装饰,测试登录验证装饰器是否生效。
- 编写装饰器用于登录验证,再对增删改进行装饰,测试登录验证装饰器是否生效。
- 先写一个装饰器助手,内部写一个login函数用于登录验证
- 分别写出增删改函数
- 在增删改函数前@装饰器,表示需要使用该装饰器增加登录验证功能
- 验证登录装饰器是否生效
2.编写函数f(n),实现输入n的值,求出1~n之和(要求使用递归方式)。
- 定义一个函数,将n作为参数
- 如果是1,直接输出1
- 如果大于1,使用递归进行叠加
- 输出结果
3.素数:只能被1和它本身整除。回文数:从左往右读和从右往左读,数字 相同。如121,1221
需求:编写函数找出所有既是回文数又是素数的3位十进制数。
- 首先判断该数是否是素数,如果它可以整除(2~前一个数)就不是素数,如果不能整除,就是素数
- 判断完是否为素数之后,判段是否为回文数,将其分别除以100取得百位上的数,除以10获得十位上的数,分别用两个变量接收,再判断是否相等,相等就是回文数
- 最后再写一个main函数,判断是否既是素数又是回文数
- 给定范围,输出结果
4.模拟轮盘抽奖游戏:
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的:
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0, 1.0)之间,代表3等奖。
编写函数实现该轮盘抽奖功能
- 导入随机函数
- 使用randint()获取随机值
- 根据随机值,使用if else语句判断为一等奖二等奖还是三等奖
- 输出结果
四、实验结果
1.系统的增删改等都需要先登录后才能操作。
编写装饰器用于登录验证,再对增删改进行装饰,测试登录验证装饰器是否生效。
python">#1.系统的增删改等都需要先登录后才能操作。
# 编写装饰器用于登录验证,再对增删改进行装饰,测试登录验证装饰器是否生效。
#用户输入用户名与密码
uname = (input("请输入您的用户名:"))
upassword = (input("请输入您的密码:"))
#定义一个装饰器
def decorator(func):# 定义内部函数logindef login(*args, **kwargs):print("登录成功")func(*args, **kwargs)print("登录失败")return login@decorator
def add(uname,upasssword):print("添加成功!")print(f"新用户:{uname},密码为:{upassword}")@decorator
def delete(uname,upassword):print(f"已删除用户名为:{uname}的用户")@decorator
def modify(uname,upassword):print(f"修改成功!")print(f"新的用户名为:{uname},新的密码为:{upassword}")add = decorator(add)
add( "admin",123456)
delete = decorator(delete)
delete( "admin",123456)
2.编写函数f(n),实现输入n的值,求出1~n之和(要求使用递归方式)。
python"># 2.编写函数f(n),实现输入n的值,求出1~n之和(要求使用递归方式)。
def func(num):if num == 1:return 1else:return num + func(num-1)
n = int(input("请输入您要计算1到几的和:"))
print(func(n))
3.素数:只能被1和它本身整除。回文数:从左往右读和从右往左读,数字 相同。如121,1221
需求:编写函数找出所有既是回文数又是素数的3位十进制数。
python"># 3.素数:只能被1和它本身整除。
# 回文数:从左往右读和从右往左读,数字相同。如121,1221
# 需求:编写函数找出所有既是回文数又是素数的3位十进制数。
import math
def isprime(n):m = int(math.sqrt(n)+1)for i in range(2,m):if n%i==0:return Falsebreakelse:return Truedef h(n):a = n//100b = n%10if a == b:return Trueelse:return Falsedef main():print("既是素数又是回文数的3位十进制数:")for i in range (100,1000):if isprime(i) == True:if h(i) == True:print(i)main()
4.模拟轮盘抽奖游戏:
轮盘分为三部分: 一等奖, 二等奖和三等奖;
轮盘转的时候是随机的:
如果范围在[0,0.08)之间,代表一等奖,
如果范围在[0.08,0.3)之间,代表2等奖,
如果范围在[0, 1.0)之间,代表3等奖。
编写函数实现该轮盘抽奖功能
python"># 4.模拟轮盘抽奖游戏:
# 轮盘分为三部分: 一等奖, 二等奖和三等奖;
# 轮盘转的时候是随机的:
# 如果范围在[0, 0.08)之间, 代表一等奖,
# 如果范围在[0.08, 0.3)之间, 代表2等奖,
# 如果范围在[0, 1.0)之间, 代表3等奖。
# 编写函数实现该轮盘抽奖功能
import random
print("您好!欢迎来到转盘抽奖游戏!")
print("按下回车游戏就开始啦!")
n = float(random.randint(0,1))
if 0 <= n <= 0.08:print("恭喜你!中的是一等奖哟!")
if 0.08 <= n <= 0.3:print("恭喜你!中的是一等奖哟!")
if 0.3 <= n <= 1.0:print("恭喜你!中的是一等奖哟!")
五、实验心得
这些实验老师上课都讲过,要学会把他变成自己的东西,真正理解代码的意思
多思考,有助于形成代码思维,代码尽量简洁
去学习,多看他人的代码,打开自己的思维。
函数是代码的基本组成单位。
函数可以将一段代码封装起来,并通过调用函数名来运行它。
函数可以接收输入参数,并可以返回一个结果。
函数应该具有清晰的功能,易于理解和维护。
使用函数参数时,可以设置默认值,使得函数的调用更加灵活。
使用装饰器来增强函数的功能,而不需要修改原函数的代码。
函数式编程强调函数的 first-class 能力,可以使用高阶函数和闭包等技术。
错误处理应该通过
try...except
语句来进行,避免程序因为异常而崩溃。这些知识可以帮助我们更好地理解和应用Python函数,提高代码质量和开发效率。