Python
3分钟练习
数列计算和转换
上回我们已经完成了分割分钟的自定义函数,根据遗留下来的任务,这次我们需要做一个简单的生成数列的方法。可以通过观察得出结论,这些时间是在500到3000之间,公差为250小时,3000到5000之间,公差为500小时,最后一个公差是1000小时。
这里我们可以用一个简单的限制结尾的循环体,内嵌 if-else 判断,来完成一个自动生成数列。
代码构建和效果展示
数列计算
首先我们设置好开始和结束,由 500 为开始,至于什么时候结束这个可以由用户自定义。分别存储到变量 limit 和 num 中,准备到下一个循环结构里面使用。
我们已经知道的规律如下——
- 500~3000之间 +250
- 3000~5000之间 +500
- 5000以上 +1000
所以首先我们可以构建一个 if-elif-else 结构,用来判断当点的数处于哪一个区间之内。然后不同的区间使用不同的公差来计算下一个值。
最后使用一个 while 循环套在这个 if-elif-else 结构的外面,用来循环连续执行这个判断结构,生成数值,从而形成数列。
# 建立初始边界条件
limit = int(input())
num = 500
# 使用 while 循环生成函数
while num <= limit:
if num < 3000:
print(num)
num = num + 250
elif 3000 <= num < 5000:
print(num)
num = num + 500
else:
print(num)
num = num + 1000
数列生成及试运行效果
合并两个模块
我们把两个模块合并到一起,就可以做到这个参数表在通讯上需要的要求。
def cut(num):
h = 0
l = 0
numed = num * 60
if numed < 65536:
l = numed
else:
h = numed // 65536
l = numed % 65536
return h,l
limit = int(input())
num = 500
i = 0
while num <= limit:
numed = num * 60
print(i,numed)
if num < 3000:
print(cut(num))
num = num + 250
elif 3000 <= num < 5000:
print(cut(num))
num = num + 500
else:
print(cut(num))
num = num + 1000
i = i + 1
完整代码及运行效果
但是,还是同样的问题,能不能换成一种 txt 输出,让我们使用起来,只需要拖动+拖黑复制这么简单的操作呢?好,那么下一节课,我们再来学习,如何将这个也弄成懒人输出。