Python打卡 DAY 30

知识点回顾:

1.  导入官方库的三种手段

2.  导入自定义库/模块的方式

3.  导入库/模块的核心逻辑:找到根目录(python解释器的目录和终端的目录不一致)

作业:自己新建几个不同路径文件尝试下如何导入

一、导入官方库

1、标准导入:导入整个库

# 方式1:导入整个模块
import math
 
print("方式1:使用 import math")
print(f"圆周率π的值:{math.pi}")
print(f"2的平方根:{math.sqrt(2)}\n")

2、从库中导入特征项

from math import *
 
print(f"圆周率π的值:{pi}")
print(f"2的平方根:{sqrt(2)}")

 3.非标准导入:导入整个库

from math import *
 
print(f"圆周率π的值:{pi}")
print(f"2的平方根:{sqrt(2)}")

二、不同路径导入

1、使用场景一

# main.py
from circle import calculate_area
 
# 直接调用函数计算面积
radius = 5
area = calculate_area(radius)
 
print(f"半径为 {radius} 的圆的面积是: {area}")    

2.使用场景二

# main.py
from circle import calculate_area
 
# 直接调用函数计算面积
radius = 5
area = calculate_area(radius)
 
print(f"半径为 {radius} 的圆的面积是: {area}")    

 3.使用场景三

# main.py
from model.circle import calculate_area
 
# 直接调用函数计算面积
radius = 5
area = calculate_area(radius)
 
print(f"半径为 {radius} 的圆的面积是: {area}")    

@浙大疏锦行

 

Python中实现打卡兑换礼物的功能,通常会涉及到以下几个步骤: 1. **数据结构设计**:创建一个数据库或数据结构来存储用户的打卡记录,比如字典或列表,其中每个元素包含用户ID、日期等信息。 ```python users_gifts = {} # 使用字典,key为用户ID,value为打卡记录 ``` 2. **添加打卡功能**:编写函数,当用户调用时,检查用户是否存在并更新打卡次数。例如,可以使用`datetime`库来记录每日打卡时间。 ```python import datetime def check_in(user_id): today = datetime.datetime.now().strftime("%Y-%m-%d") if user_id not in users_gifts: users_gifts[user_id] = {today: 1} else: if today not in users_gifts[user_id]: users_gifts[user_id][today] = 1 else: users_gifts[user_id][today] += 1 ``` 3. **条件判断与兑换规则**:设定一个规则,如连续7天打卡即可兑换一份礼物。可以遍历用户的打卡记录,检查是否符合条件。 ```python def can_exchange(user_id): user_history = users_gifts.get(user_id, {}) consecutive_days = {} for date, count in user_history.items(): if date - consecutive_days.get(date, '') <= datetime.timedelta(days=6): # 连续6天 consecutive_days[date] = count if len(consecutive_days) == 7: # 找到7连日 return True return False ``` 4. **兑换操作**:如果满足兑换条件,可以删除已达到兑换的打卡记录,并通知用户兑换成功。 ```python def redeem_gift(user_id): if can_exchange(user_id): for day, _ in list(users_gifts[user_id].items())[:7]: # 删除前7天的打卡记录 del users_gifts[user_id][day] print(f"恭喜用户{user_id},您的7天连续打卡已成功兑换礼物!") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值