【python】编程语言入门经典100例--27

发布时间:2020-02-27 20:35:50

来源:51CTO

阅读:520

作者:snc_snc

1 #题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

代码:

2

3 li = list(input('请输入5个字符:'))

4 n = len(li)

5 i = 0

6

7 def order(li,n,i):

8     if i <= n-1-i:

9         tmp = li[i]

10         li[i] = li[n-1-i]

11         li[n-1-i] = tmp

12         i += 1

13         order(li,n,i)

14     return(li)

15

16 print(order(li,n,i))

运行结果:

[root@HK code_100]# python code_27.py

请输入5个字符:abcdefghi123456768

['8', '6', '7', '6', '5', '4', '3', '2', '1', 'i', 'h', 'g', 'f', 'e', 'd', 'c', 'b', 'a']

[root@HK code_100]# python code_27.py

请输入5个字符:abcde

['e', 'd', 'c', 'b', 'a']

[root@HK code_100]#

代码解释:

#思路:遍历经过输入转换后的列表li,通过三方参数赋值,将第一个和最后一个元素交换位置,然后递归新的列表,

#     将新列表的第二个元素和倒数第二个元素交换位置,以此类推,全部交换完之后,列表就会做到反转

2

3 li = list(input('请输入5个字符:'))        #接收输入的5个字符,并且转换成列表

4 n = len(li)                                #计算列表长度,以便后面使用

5 i = 0                                      #定义参数i为从0开始

6

7 def order(li,n,i):                         #定义函数order,传入三个参数,li列表,列表长度,列表下标

8     if i <= n-1-i:                         #条件判断列表正数元素小于或者等于列表倒数元素,防止重复交换位置,因为是小于或者等于, 所有列表个数是单数还是双数都不受影响

9         tmp = li[i]                        #从这往后三条是通过三方参数tmp交换两个数值

10         li[i] = li[n-1-i]

11         li[n-1-i] = tmp

12         i += 1                             #正数元素下标依次累加

13         order(li,n,i)                      #将之前交换完元素的的列表递归到这个函数,传入新的参数,继续计算,一直到所有元素都有交换

14     return(li)                             #全部交换完之后返回新的列表

15

16 print(order(li,n,i))                       #打印结果

python入门经典27版_【python】编程语言入门经典100例--27相关推荐

  1. 可爱的Python(哲思社区.插图版_文字版).pdf 下载地址

    下载地址: 可爱的Python(哲思社区.插图版_文字版).pdf 资源来自网络,如有侵权,请联系删除!

  2. python编程第5版_正版 Python学习手册(原书第5版) python编程从入门到精通 python入门 计算机网络...

    上册 前言1 部分使用入门 章问答环节21 人们为何使用Python21 软件质量22 开发者效率23 Python是一门"脚本语言"吗23 好吧,Python的缺点是什么25 如 ...

  3. python入门教程傻瓜版_毫无基础的人如何入门 Python ?Python入门教程拿走不谢啦!...

    随着人工智能的发展,Python近两年也是大火,越来越多的人加入到Python学习大军,对于毫无基础的人该如何入门Python呢?这里整理了一些个人经验和Python入门教程供大家参考. 如果你是零基 ...

  4. python编程第四版_清华编程教授强力推荐《Python编程》,指导你如何学习python

    Python编程真的那么容易吗?仅仅是看理论就可以学以致用吗? 今天我给你介绍的这本书,也许会让你开始改变这种想法,因为这本书上的练习和案例以及指导本身就足够学好Python了. 清华编程教授强力推荐 ...

  5. python 的库如何开发_一篇文章入门Python生态系统

    译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员来说,本文对Python的生态系统还是做了较为全面的介绍.文 ...

  6. python制作一个教学网站_小白如何入门Python? 制作一个网站为例

    首先最重要的问题是为什么要学习python?这个问题这个将指导你如何学习Python和学习的方式. 以你最终想制作一个网站为例.从一个通用的学习资源列表开始不仅会消磨你的激情,而且你获得的知识很难应用 ...

  7. 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集

    python教程,求一套比较好的python教程 好不好主要先看你自己,理解能力样,有没有接触过编程,有没础,这很重要: 看教程,能不能先给你建立起知识体系框架,许多教程一上来就直接给你灌输知识很让人 ...

  8. python猜谜语小游戏代码_树莓派趣学实战100例--网络应用+Python编程+传感器+服务器搭建...

    导语 内容提要 本书是面向第4代树莓派(Raspberry Pi4B)的全新实战指南.树莓派(Raspberry Pi)是一款价格低廉.只有一张信用卡大小的计算机.然而麻雀虽小,却五脏俱全,树莓派是一 ...

  9. python软件下载手机版-Learn Python中文版app

    Learn Python中文版app是一个用手机学习Python编程的apk,软件经过本人亲自安装,可以用,自带夜间模式.语音模式以及编写代码的功能.可以用邮箱注册登录,很方便.每天利用零碎的时间学习 ...

最新文章

  1. 纯CSS实现文字一行居中,多行左对齐的方法
  2. 23年前的今天,首辆火星车登陆火星,后来还拯救了马特达蒙
  3. CentOS7安装MySQL并设置远程登录
  4. Whose Hall?
  5. Centos7 下yum安装mysql
  6. 镇定的反义词是什么,标准答案是
  7. 列表、表格与媒体元素
  8. 安装Cocoapods, 更新gem出现的问题
  9. 应用内悬浮窗适配方案实战
  10. 【2021自我知识蒸馏】Extracting knowledge from features with multilevel abstraction
  11. web项目登录报错:HTTP Status 500 - Error instantiating servlet class com.gxuwz.medical.web.servlet.LoginSer
  12. JupyterLab-APP
  13. 《SSO系列二》自己动手写一个SSO
  14. 【转载】网站关闭了域名备案信息是否需要注销,答案是一定要记得注销域名备案信息,防止域名过期后被他人注册用于非法用途而带来不必要的麻烦...
  15. Transformer中引用iqd作为数据源导入报错TR1907与TR3312
  16. C# 淘宝商品微信返利助手开发-(八)微信号对接
  17. 课程设计-商店管理系统(一)----前端页面的制作(一)
  18. 冯·诺依曼--数学奇才计算机之父
  19. ubuntu服务器卸载mysql_在Ubuntu或Debian系统的服务器上卸载MySQL的方法
  20. 5款可以在学习和办公上提供帮助的软件

热门文章

  1. 两千字揭密 MySQL 8.0.19 三大索引新功能:隐藏索引,降序索引,函数索引
  2. 巨杉数据库 CTO 王涛:新一代分布式数据库
  3. 小熊派开发实践丨小熊派+合宙Cat.1接入云服务器
  4. 技术实践丨PostgreSQL开启Huge Page场景分析
  5. 干货分享丨玩转物联网IoTDA服务系列四-智能网关
  6. 前端常用60余种工具方法(上)
  7. 推荐系统之---如何理解低秩矩阵?
  8. poj 2387 Til the Cows Come Home dijkstra
  9. WORD图片批量居中?
  10. 做柱状图加数据标签_Origin绘图:如何优雅的绘制堆叠柱状图