技术 | Python从零开始系列连载(二十一)

导读

为了解答大家初学Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

首先恭喜大家,截止到上一期,我们已经把Python的基础和进阶知识都学习完毕了!前期连载欢迎到文末处查看往期精彩文章,也可以在菜单栏【Python连载】查看!今天,我们正式进入Python数据结构与算法刷题模块!

害死人不偿命的(3n+1)猜想

其实想写Python数据结构算法文章很久了,相信很多读到这里的小伙伴还是在校学生,要面临校招。

不管你是数据分析、数据挖掘还是机器学习,基本上都逃不过笔试数据结构算法大题。

而国内关于Python的数据结构算法书籍少之又少。

而从之前的连载看来,大家对课后作业积极响应并且希望多出一些刷题内容。

这就让我想写一些系统的关于Python刷题的文章内容。

当然,我也刚刚开始这项内容,希望大家共同进步。

题目选自PAT,从最简单的开始吧。

PAT刷题多采用c、c++、java。

而我就尽量将代码转为Python呈现出来给大家。

如果有地方写的不对或者繁琐,请指出。

害死人不偿命的(3n+1)猜想

又名卡拉兹(Callatz)猜想:

对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进展……

我们今天的题目不是证明卡拉兹猜想,而是对给定的任一不超过1000的正整数n,简单地数一下,需要多少步(砍几下)才能得到n=1?

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。

输出格式:输出从n计算到1需要的步数。

输入样例:

3

输出样例:

5

上代码:

这题比较简单,大家应该都能理解~

注意点:

1.input得到的是字符型,需要强制转换为int

2.这里不适合用for循环,因为不知道何时循环结束

3.记得初始化步数i=0,并且每次在循环里自增

光看不练,眼高手低可不好哦,动手敲代码吧~

好啦,这期的分享先到这里,大家可以按照上面的详细步骤进行练习。加油,我们下周五不见不散~

文章来源:Python爱好者社区

文章编辑:小柳

往期文章:

技术 | Python从零开始系列连载(二十)

技术 | Python从零开始系列连载(十九)

技术 | Python从零开始系列连载(十八)

技术 | Python从零开始系列连载(十七)

技术 | Python从零开始系列连载(十六)

技术 | Python从零开始系列连载(十五)

技术 | Python从零开始系列连载(十四)

技术 | Python从零开始系列连载(十三)

技术 | Python从零开始系列连载(十二)

技术 | Python从零开始系列连载(十一)

技术 | Python从零开始系列连载(十)

技术 | Python从零开始系列连载(九)

技术 | Python从零开始系列连载(八)

技术 | Python从零开始系列连载(七)

技术 | Python从零开始系列连载(六)

技术 | Python从零开始系列连载(五)

技术 | Python从零开始系列连载(四)

技术 | Python从零开始系列连载(三)

技术 | Python从零开始系列连载(二)

技术 | Python从零开始系列连载(一)

原文发布于微信公众号 - 灯塔大数据(DTbigdata)

原文发表时间:2018-06-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏养码场

限时领取| 6GJavaScript高级视频,高级前端工程师必备武器!

之前场主分享了13G的JavaScript基础视频,共140集实战教学。没想到领取人数竟超过了5000+,着实让场主感受到了JavaScript教程的需求,及还...

10020
来自专栏北京马哥教育

快速掌握一个语言最常用的50%

现在的开发工作要求我们能够快速掌握一门语言。一般来说应对这种挑战有两种态度:其一,粗粗看看语法,就撸起袖子开干,边查Google边学习;其二是花很多时间完整地把...

29790
来自专栏有趣的Python和你

python数据分析之基情的择天记

names用于存入小说人物和出场次数;relationships保存人物关系的有向边,该字典的键为有向边的起点,值为一个字典edge,edge的键是有向边的终点...

10610
来自专栏CSDN技术头条

代码审查拯救世界?

代码审查是指阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。现在,越来越多的团队倡导要进行代码审查活动,而本文作者通过一幅漫画,来诠释其对代码审查的理...

23260
来自专栏Java成神之路

WEB前端开发成长指南

小 编注:相比起网页射击狮,操纵代码的前端攻城狮凭着双手在键盘巴拉巴拉敲出的字符,就能赋予二次元的静态页面生命,各种lovely 的~~fabulous的~~e...

12530
来自专栏灯塔大数据

技术 | Python从零开始系列连载(二十二)

为了解答大家学习Python时遇到各种常见问题,小灯塔特地整理了一系列从零开始的入门到熟练的系列连载,每周五准时推出,欢迎大家学积极学习转载~

12330
来自专栏纯洁的微笑

设计模式是什么鬼?

9710
来自专栏编程一生

一条项目中常用的linux命令引发的经典算法题

13930
来自专栏编程

Python大牛告诉你一行代码能干什么?神奇

Python令人着迷的黑魔法。那么我们高效的Python语言一行代码能干什么呢?请先自行脑补! 我们先说说一行代码输出“The Zen of Python”Py...

284100
来自专栏平凡文摘

如果电脑技术最初是中国人发明的,那现在编程是不是就是中文的?

20750

扫码关注云+社区

领取腾讯云代金券