Python验证学号与礼品发放函数实现及阶乘计算

在Python等级考试的题目中,我们遇到了三个不同的函数实现任务。首先,针对学号验证问题,我们需要编写一个名为`check(s)`的函数,该函数用于检查输入的字符串`s`是否符合合法学号的条件。合法学号需满足以下要求:
1. 以字母'H'开头。
2. 其余8个字符全部为数字。
3. 学号总长度为9。
测试程序提供了一个简单的框架,要求考生填写函数定义部分:
```python
def check(s):
# 考生填写:检查字符串s是否符合学号规则
return s[0] == "H" and len(s) == 9 and s[1:].isdigit()
input_str = input() # 用户输入的字符串
result = "Yes" if check(input_str) else "No"
print(result)
```
第二个函数是关于公司发放小礼品的逻辑。函数`f(n)`需要计算给定员工人数`n`中哪些序号符合条件(11的倍数或包含数字9),并返回这些序号组成的列表。示例代码如下:
```python
def f(n):
# 考生填写:找出满足条件的员工序号
ls = []
for i in range(1, n + 1):
if i % 11 == 0 or '9' in str(i):
ls.append(i)
return ls
# 输入员工人数
a = int(input())
gifts = f(a)
# 输出小礼品数量和符合条件的序号
print("礼物份数:", len(gifts))
print("应发放礼物的序号:", ' '.join(map(str, gifts)))
```
最后的任务是计算五个整数的阶乘之和,我们需要定义函数`f(n)`来计算阶乘,然后调用这个函数处理输入的五个整数。函数定义如下:
```python
def f(n):
# 考生填写:计算阶乘
def factorial(num):
if num == 0 or num == 1:
return 1
else:
return num * factorial(num - 1)
# 计算阶乘之和
total_factorial = sum(factorial(i) for i in range(1, 6)) # 假设输入是五个连续的整数
return total_factorial
# 输入五个整数
nums = [int(num) for num in input().split()]
result_sum = f(nums[0]) # 由于题目未明确是否输入五个整数,这里假设是第一个数
print("阶乘之和:", result_sum)
```
这三个函数分别展示了Python中的字符串操作、条件判断、循环遍历以及递归计算等基本概念,同时也是对函数式编程思维的检验。在实际编程中,这些能力对于解决更复杂的问题至关重要。
点击了解资源详情
172 浏览量
124 浏览量
2022-02-16 上传
110 浏览量
2021-10-25 上传
2021-10-27 上传
2021-11-04 上传
2021-10-27 上传

m0_74691443
- 粉丝: 0
最新资源
- Linux平台PSO服务器管理工具集:简化安装与维护
- Swift仿百度加载动画组件BaiduLoading
- 传智播客C#十三季完整教程下载揭秘
- 深入解析Inter汇编架构及其基本原理
- PHP实现QQ群聊天发言数统计工具 v1.0
- 实用AVR驱动集:IIC、红外与无线模块
- 基于ASP.NET C#的学生学籍管理系统设计与开发
- BEdita Manager:官方BEdita4 API网络后台管理应用入门指南
- 一天掌握MySQL学习笔记及实操练习
- Sybase数据库安装全程图解教程
- Service与Activity通信机制及MyBinder类实现
- Vue级联选择器数据源:全国省市区json文件
- Swift实现自定义Reveal动画播放器效果
- 仿53KF在线客服系统源码发布-多用户版及SQL版
- 利用Android手机实现远程监视系统
- Vue集成UEditor实现双向数据绑定