ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

大爽Python入门练习题 2-8 跳跃输出

2021-12-13 23:05:28  阅读:144  来源: 互联网

标签:练习题 输出 Python 大爽 current 索引 lst print 移动


大爽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,大爽,current,索引,lst,print,移动
来源: https://www.cnblogs.com/BigShuang/p/15685717.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有