Python验证学号与礼品发放函数实现及阶乘计算
![](https://csdnimg.cn/release/wenkucmsfe/public/img/starY.0159711c.png)
在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中的字符串操作、条件判断、循环遍历以及递归计算等基本概念,同时也是对函数式编程思维的检验。在实际编程中,这些能力对于解决更复杂的问题至关重要。
点击了解资源详情
161 浏览量
120 浏览量
2022-02-16 上传
105 浏览量
2021-10-29 上传
2021-10-31 上传
2021-11-04 上传
2021-11-01 上传
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
m0_74691443
- 粉丝: 0
最新资源
- Paw实践2课程核心内容精讲
- 数学建模中Matlab源程序的应用
- Fedora14环境下的hello模块Linux驱动开发
- Java性能优化与监控:全面JVM和应用性能管理指南
- OBS多路推流插件0.2.5版支持多RTMP直播
- HipChat:开发团队优选的即时通讯工具
- React JS代码笔克隆实战指南
- Laravel环境管理神器:laravel-envloader功能解析
- Android购物车动画效果及代码分享
- 将FTP默认打开方式修改为资源管理器的方法
- 核主成分分析KPCA在Matlab中的应用与例程
- Java程序员必备:LeetCode算法题解与技巧
- 学生信息管理系统的简易实现
- MapMagic_World_Generator_1.9.4:Unity3D地图编辑插件
- C#编程实现压缩解压功能技巧详解
- Laravel封装SwiftAPI实现Minecraft Bukkit远程调用