求助Python实战作业

3.课后练习

1.【代码实战题1 - 智能签到系统】

练习介绍

签到,对于我们来说再平常不过了。无论上班打卡,亦或参加某项活动,都少不了签到这一环节。

常见的有人脸识别、指纹识别、填写姓名等签到方式。

在这里,我们就以填写姓名这种方式为依据,设计一个简易的智能签到系统,避免重复签到。

【题目要求】

通过自主输入姓名,判断是否签到。如果已经签到,提示用户无需重复签到;否则,提供是否签到选项。

【书写代码】

给你一点点提示:

1)变量名建议:姓名 —— name;签到名单 —— attendance_list;回答 —— answer。

请根据注释提示完成代码

# 签到名单

attendance_list = ['张三', '李四']

# 获取输入的姓名,并赋值给 name

                              (提示:用input()获取姓名)

# 如果 name 在已签到名单,则打印"您已经签到,无需重复签到"

# 否则,询问"是否要签到?"

   # 回答"是",则将 name 添加到 attendance_list 列表

# 打印"签到成功以及签到名单"

# 否则,打印"您可以稍后签到"

  1. 【代码实战题2 - 设计摇奖机】

【练习介绍】

不知道你有没有玩过摇奖机,只要摇动摇杆,屏幕中间的三个图案轮就会飞快转动。

当图案轮旋转停止,显示的三个图案如果相同,即为中奖。

 

在这里,我们做一个简易的摇奖机。

可以把列表当做“数字转盘”,为了降低操作难度,我已经为你提供了三个列表。

num_list1 = ['0', '1', '0', '1', '1', '0', '1', '0', '1', '0']

num_list2 = ['0', '1', '1', '1', '0', '0', '1', '0', '0', '1']

num_list3 = ['1', '0', '1', '1', '0', '1', '1', '0', '1', '1']

每个列表包含 10 个乱序的数字字符串,只有 '0' 和 '1'两种。

然后,把“输入一个三位数”当成“摇奖”这个动作,并把这个三位数的百位数、十位数、个位数作为索引,分别对列表取值,组成兑奖码。

 223 这个三位数为例,对三个列表分别索引取值,组成的兑奖码是 011

【题目要求】

随机输入一个三位数(000 - 999),可以获得一个专属的兑奖码,当兑奖码为 111 或 000 时,即为中奖,否则,未中奖。

【书写代码】

给你一点点提示:

1)变量名建议:输入的三位数 —— num,三位数中的百位数 —— hundreds_digit,三位数中的十位数 —— tens_digit,三位数中的个位数 —— ones_digit,兑换码 —— code。

请根据注释提示完成代码

# 创建三个数字列表

num_list1 = ['0', '1', '0', '1', '1', '0', '1', '0', '1', '0']

num_list2 = ['0', '1', '1', '1', '0', '0', '1', '0', '0', '1']

num_list3 = ['1', '0', '1', '1', '0', '1', '1', '0', '1', '1']

# 获取输入的三位数信息,并赋值给 num

# 提取三位数中的百位数

# 提取三位数中的十位数

# 提取三位数中的个位数

# 分别从三个数字列表中提取值,并拼接得到兑换码 code

# 如果兑换码是 111 或 000,打印兑换码以及"恭喜您中奖了!"

# 否则,打印兑换码以及"很遗憾您没有中奖。"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值