初级
用户状态封禁与恢复
未完成
初级参考
完整示例代码供参考,建议自己理解后重新输入
def solve():
from pyodide.http import open_url
from io import StringIO
users_csv = open_url("https://data.zuihe.com/dbd/ms-shop/state_02/users.csv").read()
import pandas as pd
from io import StringIO
users = pd.read_csv(StringIO(users_csv))
users = users.copy()
def ban_user(uid):
idx = users[users['id']==uid].index
if idx.empty: return False, 'user not found'
if users.loc[idx[0],'status'] == 'banned': return False, 'already banned'
users.loc[idx[0],'status'] = 'banned'
return True, 'banned'
def unban_user(uid):
idx = users[users['id']==uid].index
if idx.empty: return False, 'user not found'
if users.loc[idx[0],'status'] != 'banned': return False, 'not banned'
users.loc[idx[0],'status'] = 'active'
return True, 'unbanned'
print(f"初始 banned: {users[users['status']=='banned']['username'].tolist()}")
ok, msg = ban_user(3)
print(f"ban user=3: ok={ok}, msg={msg}")
ok2, msg2 = ban_user(5)
print(f"ban user=5 (already banned): ok={ok2}, msg={msg2}")
ok3, msg3 = unban_user(5)
print(f"unban user=5: ok={ok3}, msg={msg3}")
print(f"最终 banned: {users[users['status']=='banned']['username'].tolist()}")
示例
输入
solve()
期望输出
初始 banned: ['eve'] ban user=3: ok=True, msg=banned ban user=5 (already banned): ok=False, msg=already banned unban user=5: ok=True, msg=unbanned 最终 banned: ['carol']
👑
升级 VIP
解锁全部题目,畅通无阻地学习
- ✓ 解锁全部训练包所有题目
- ✓ 查看完整参考代码和提示
- ✓ 浏览器内直接运行 Python 代码
- ✓ 自动批改 + 进度追踪
30天
¥18
1年
¥99
2年
¥158
3年
¥199