大爽Python入门练习题 2-8 跳跃输出
2021/12/14 1:17:30
本文主要是介绍大爽Python入门练习题 2-8 跳跃输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大爽Python入门练习题总目录
第二章 中期练习题 中等 第8题
题目
简介
实现一个函数jump_print(lst)
,
接受一个数组(列表)lst
作为参数。
先将lst
的首项作为当前项,
输出当前项,并将索引往后移动当前项的值,
(最后一项,索引往后移动一格,则移动到首项,相当于把列表看作一个环)
然后将索引对应的项作为当前项,循环输出与移动。
直到索引重复时停止循环,索引重复项不输出。
函数无返回值。
详细说明
比如如下列表
lst = [3, 6, 4, 1, 2]
循环输出详细过程如下
- 当前索引为
0
,对应的项为3
,输出3
,
索引往后移动3格(+3),移动后索引为3
- 当前索引为
3
,对应的项为1
,输出1
,
索引往后移动1格(+1),移动后索引为4
- 当前索引为
4
,对应的项为2
,输出2
,
索引往后移动2格(+2),移动后索引为1
- 当前索引为
1
,对应的项为6
,输出6
,
索引往后移动6格(+6),移动后索引为2
- 当前索引为
2
,对应的项为4
,输出4
,
索引往后移动4格(+4),移动后索引为1
- 当前索引为
1
,索引重复(之前已经走过并输出过),退出循环。
所以完整总输出如下
3 1 2 6 4
示例
示例一
lst = [3, 6, 4, 1, 2] jump_print(lst)
输出为
3 1 2 6 4
示例二
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] jump_print(lst)
输出为
1 2 4 8 7 5
示例三
lst = [7, 4, 6, 1, 5, 3, 1, 2] jump_print(lst)
输出为
7 2 4 3
分割线
本小段没有实际意义,
仅用于分隔题目和答案。
防止学生无意中直接看到答案,
影响思路。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
答案
def jump_print(lst): record = [] current = 0 while current not in record: record.append(current) print(lst[current]) current += lst[current] current = current % len(lst)
这篇关于大爽Python入门练习题 2-8 跳跃输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python