《Python编程快速上手+让繁琐工作自动化》第三章实践项目

1 Collatz 序列
  编写一个名为 collatz()的函数,它有一个名为 number 的参数。如果参数是偶数,那么 collatz()就打印出 number // 2,并返回该值。如果 number 是奇数,collatz()就打印并返回 3 * number + 1。
  然后编写一个程序,让用户输入一个整数,并不断对这个数调用 collatz(),直到函数返回值1(令人惊奇的是,这个序列对于任何整数都有效,利用这个序列,你迟早会得到 1!既使数学家也不能确定为什么。你的程序在研究所谓的“Collatz序列”,它有时候被称为“最简单的、不可能的数学问题”)。

代码如下:

# -*- coding:utf-8 -*-
def colatz(number):
    if number % 2 == 0:
        return number/2
    else:
        return 3 * number + 1

while True:
    number = int(input(‘please enter number:‘))
    if colatz(number) == 1:
        print(colatz(number))
        break
    else:
        print(colatz(number))

2.

输入验证:在前面的项目中添加 try 和 except 语句,检测用户是否输入了一个非整数的字符串。正常情况下,int()函数在传入一个非整数字符串时,会产生 ValueError 错误,比如 int(‘puppy‘)。在 except 子句中,向用户输出一条信息,告诉他们必须输入一个整数。

# -*- coding:utf-8 -*-
def colatz(number):
    if number % 2 == 0:
        return number/2
    else:
        return 3 * number + 1

while True:
    try:
        number = int(input(‘please enter number:‘))
        if colatz(number) == 1:
            print(colatz(number))
            break
        else:
            print(colatz(number))
    except ValueError:
        print(‘请输入整数‘)

  

原文地址:https://www.cnblogs.com/huwang-sun/p/9931811.html

时间: 2024-09-29 18:32:05

《Python编程快速上手+让繁琐工作自动化》第三章实践项目的相关文章

Python 编程快速上手 让繁琐工作自动化-第十一章实践项目 11.11.1命令行邮件程序

11.11.1 命令行邮件程序 编写一个程序,通过命令行接受电子邮件地址和文本字符串.然后利用selenium登录到你的邮件账号,将该字符串作为邮件,发送到提供的地址(你也许希望为这个程序建立一个独立的邮件账号).这是为程序添加通知功能的一种好方法.你也可以编写类似的程序,从Facebook 或Twitter 账号发送消息.这个项目弄了好几天,头都快炸了,终于弄好了代码如下:#!/usr/bin/env python#encoding:utf-8 '''@author:Kevinbr/>@aut

Python编程快速上手让繁琐工作自动化-第十一章实践项目11.11.3 2048

2048 是一个简单的游戏,通过箭头向上.下.左.右移动滑块,让滑块合并.实际上,你可以通过一遍一遍的重复"上.右.下.左"模式,获得相当高的分数.编写一个程序,打开https://gabrielecirulli.github.io/2048/上的游戏,不断发送上.右.下.左按键,自动玩游戏.真是个休闲的游戏哦下面是代码 原文地址:https://blog.51cto.com/lisiyun/2363216

Python编程快速上手-让繁琐工作自动化 第三章 函数习题及其答案

第三章 函数习题及其答案 1.为什么在程序中加入函数会有好处? 答:函数减少了重复的代码.这让程序更短,更容易阅读,更容易修改. 2.函数中的代码何时执行: 在函数被定义时,还是在函数被调用时? 答:函数中的代码在函数被调用时执行,而不是在函数定义时. 3.什么语句创建一个函数? 答:def语句定义了(创建了)一个函数. 4.一个函数和一次函数调用有什么区别? 答:函数包含def语句和在def子句中的代码.函数调用让程序执行转到函数内,函数调用求值为该函数的返回值. 5.Python程序中有多少

Python编程快速上手-让繁琐工作自动化 第四章 列表练习题及其答案

第四章 列表练习题及其答案 1.什么是[]? 答:空的列表值,它是一个列表,不包含任何列表项.这类似于''是空的字符串值. 2.如何将'hello'赋值给列表的第三个值,而列表保存在名为spam的变量中?(假设变量包含[2, 4, 6, 8, 10]) 答:spam[2] = 'hello'(注意列表中的第3个值下标是2,因为第一个值下标是0.) 对接下来的3个问题,假定spam包含列表['a', 'b', 'c', 'd'] 3.spam[int('3'*2)/11]求值为多少? 答:'d'(

《Python编程快速上手 让繁琐工作自动化》pdf

<div id="article_content" class="article_content tracking-ad" data-mod="popu_307" data-dsm="post"> <p><br></p><p>下载地址:<a target="_blank" href="https://page74.ctfile.co

Python编程快速上手-让繁琐工作自动化-第二章习题及其答案

Python编程快速上手-让繁琐工作自动化-第二章习题及其答案 1.布尔数据类型的两个值是什么?如何拼写? 答:True和False,使用大写的T和大写的F,其他字母是小写. 2.3个布尔操作符是什么? 答:and.or和not. 3.写出每个布尔操作符的真值表(也就是操作数的每种可能组合,以及操作的结果) 答:and:True and True  -> True True and False -> FalseFalse and True -> FalseFasle and False

Python编程快速上手 让繁琐工作自动化 PDF下载

网盘下载地址:Python编程快速上手 让繁琐工作自动化 PDF下载 – 易分享电子书PDF资源网 作者: Albert Sweigart 出版社: 人民邮电出版社 副标题: 让繁琐工作自动化 原作名: Automate the Boring Stuff with Python: Practical Programming for Total Beginners 译者: 王海鹏 出版年: 2016-7-1 页数: 391 内容简介 · · · · · · 如今,人们面临的大多数任务都可以通过编写

入门python:《Python编程快速上手让繁琐工作自动化》中英文PDF+代码

入门推荐学习<python编程快速上手>前6章是python的基础知识,通俗易懂地讲解基础,初学者容易犯错的地方,都会指出来.从第三章开始,每章都有一个实践项目,用来巩固前面所学的知识. 从第七章开始就是书名中的后半部:让繁琐工作自动化.每个章节都可独立出来.每看完一个章节,你都能将其中的知识点融会贯通,用到自己的日常工作中,提高效率.第九章 组织文件对系统管理员非常有用,能够指挥程序完成复制 备份文件(夹)操作.第十一章是web抓取信息,介绍了主流的request beautifulSoup

Python编程快速上手 让繁琐工作自动化 云图

图书封面 本书简介 本书的第一部分介绍了基本 Python 编程概念,第二部分介绍了一些不同的任务,你可以让计算机自动完成它们.第二部分的每一章都有一些项目程序,供你学习.下面简单介绍一下每章的内容.第一部分: Python 编程基础"第 1 章: Python 基础"介绍了表达式. Python 指令的最基本类型,以及如何使用 Python 交互式环境来尝试运行代码."第 2 章:控制流"解释了如何让程序决定执行哪些指令,以便代码能够智能地响应不同的情况.&quo

Python编程快速上手 让繁琐工作自动化pdf

[下载地址] 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 本书是一本面向实践的Python编程实用指南.本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能.本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们.第二部分的每一章都有一些项目程