父与子一起学python3_父与子的编程之旅:与小卡特一起学python

这本书是父子共学Python3的指南,旨在帮助初学者理解编程基本概念,如指令、程序、二进制、变量和错误处理。书中通过实例介绍如何安装Python、使用IDLE、编写和运行程序。强调了犯错误在学习过程中的重要性,并讲解了输入输出、内存管理、变量、类型转换和基本数学运算。此外,还涉及了GUI编程的基础,如使用EasyGui创建简单对话框,并介绍了循环和判断的概念。
摘要由CSDN通过智能技术生成

image.png

注:本书基于python2讲解

前言

编程就是告诉计算机要做什么。计算机只是一些没有生命的机器,它们自己不知道该做什么,一切都得你来告诉它,而且你还必须把细节都说清楚。

指令(instruction)就是下达给计算机的一个基本命令,通常要求计算机做某件特定的事情。

计算机程序是由多个指令组成的。软件就是你的计算机上运行的程序。

所有计算机在内部都使用二进制(1和0是一种二进制的编程)。利用计算机编程语言,我们可以先用一种自己能够理解的方式写程序,然后把它翻译成二进制供计算机使用。

怎么样使用本书

□ 验证例子。

□ 输入程序。

□ 做习题。

□ 放轻松。

不要担心犯错误。实际上,你得尽量多犯错误!我认为,犯错误然后搞清楚怎么找出错误并改正是最好的一种学习方法。

在编程中,除了多费一点时间,你的错误通常不会带来其他损失。

第1章 出发吧

1.1 安装python

1.2 从IDLE启动python

IDLE是一个python shell(外壳)。这是一个通过键入文本与程序交互的途径,可以利用这个shell与python交互。

IDLE本身还是一个GUI(图形用户界面)。GUI就是图形用户界面(graphical user interface),表示界面中有窗口、菜单、按钮、滚动条等等。没有GUI的程序称为文本模式(text-mode)程序、控制台(console)程序或命令行(command-line)程序。

'>>>是python提示符。提示符是程序等待你键入信息时显示的符号。

1.3 来点指令吧

print是一个python关键字。

关键字(keyword)是作为python语言一部分的特殊词,也称为保留字(reserved word).

1.4 与python交互

执行命令、指令或程序就表示“运行”或者“发生”,这只是运行或发生的另外一种形象说法。

几乎所有的计算机程序和语言都是用*符号作为乘号。“星号”或“星”。

print("Hello " * 20)

1.5 该编程了

文本编辑器能把程序保存到硬盘上。

文件名末尾的.py部分告诉计算机这是一个python程序,而不是普通的文本文件。

1.6 运行你的第一个程序

1.7 如果出问题

(1)语法错误(syntax error):就是一种程序语言的拼写和文法规则,意味着你键入的某个内容不是正确的代码。

(2)运行时错误(runtime error):运行程序前python无法检测出来的错误,只是在程序运行时才会发生。

在python中,不能把两个完全不同的东西加在一起,比如说数字和文本。

1.8 你的第二个程序

第2章 记住内存和变量

程序就是下达给计算机的一系列指令。

几乎所有真正有用或有意思的程序都还有一些别的特征:

□ 都有输入(input);

□ 都会处理(process)输入;

□ 都会产生输出(output).

2.1 输入、处理和输出

为了处理输入,计算机必须记住它们,或者把它们保存在某个地方。计算机会把这些内容(包括输入以及程序本身)保存在它的内存中。

2.2 名字

firs = 5

second = 3

print(first + second)

2.3 名字里是什么

变量名规则:

名字是区分大小写的。

变量名必须以字母或下划线字符开头,不能以数字开头。4fun ×

变量名中不能包含空格。

2.4 数字和字符串

字符或字符序列(字母、数字或标点符号)称为一个字符串。

字符串的开头和结尾必须使用同种类型的引号。(单引号或双引号)

字符串拼接

长字符串,跨多行的字符串,使用一种特殊的字符串,三重引号字符串

image.png

2.5 它们有多“可变”

2.6 全新的我

变量自增(increment)

变量自减(decrement)

程序可以在任何时间对变量重新赋值。

变量区分大小写。

专业的python程序员给变量命名时几乎总是以小写字母开头。

第3章 基本数学运算

3.1 四大基本运算

在python3中做整除,需要使用两个前斜杠(//)

print(3/2)

print(3//2)

3.2 操作符

+、-、、/符号都称为操作符。=也是一个操作符,称为赋值操作符。

所操作的东西称为操作数。

image.png

3.3 运算顺序

3.4 另外两个操作符

1 指数——自乘为一个幂(**操作符)

print(3**5)

2 取余——求余数(%取余操作符)

print(7%2)

3 +=(自增) 和 -=(自减)

image.png

3.5 非常大和非常小

指数和E记法

image.png

第4章 数据的类型

4.1 改变类型

类型转换

□ float() 从一个字符串或整数创建一个新的浮点数(小数)。

□ int() 从一个字符串或浮点数创建一个新的整数。

□ str() 从一个数(可以是任何其他类型)创建一个新的字符串。

float()、int()、str()后面有小括号,因为他们不是python关键字(如Print),它们只是python的内置函数(function).

image.png

image.png

int()函数总是下取整。它不会给你最接近的整数,而是会给出下一个最小的整数。实际上int()函数就是去掉小数部分。

4.2 得到更多信息:type()

image.png

4.3 类型转换错误

4.4 使用类型转换

第5章 输入

5.1 raw_input()内置函数

5.2 print命令和逗号

5.3 输入数字

第6章 GUI——图形用户界面

6.1 什么是GUI

6.2 第一个GUI

EasyGui是一个python模块,利用这个模块可以很容易地建立简单的GUI。模块就是一种拓展方法,通过它可以向python增加非内置的内容。

安装EasyGui→python路径→建立GUI

image.png

安装教程 https://blog.csdn.net/Aka_Happy/article/details/82120174

image.png

image.png

(牢骚话:折腾大半天,真是一脸懵逼,最后换成python setup.py install竟然意料之外的好了。)

image.png

image.png

EasyGui msgbox()函数用于创建一个消息框。大多数情况下,EasyGui函数的名就是相应英语单词的缩写。

6.3 GUI输入

image.png

‘ok’部分就是python和EasyGui在告诉你:用户点击了OK按钮。EasyGui会返回信息来告诉你用户在GUI中做了什么:点击了什么按钮,键入了哪些内容等。

EasyGui msgbox就是包含一条消息和一个ok按钮的对话框。不过还可以有不同类型的对话框,包含更多的按钮和其他内容。

6.4 选择你的口味

有多个按钮的对话框

按钮框(button box, buttonbox)

import easygui

flavor = easygui.buttonbox("What is your favorite ice cream flavor?",

choices = ['vanilla','chocolate','strawberry'])

easygui.msgbox("you picked " + flavor)

image.png

选择框

选择框(choice box, choicebox)

import easygui

flavor = easygui.choicebox("What is your favorite ice cream flavor?",

choices = ['vanilla','chocolate','strawberry'])

easygui.msgbox("you picked" + flavor)

image.png

文本输入

输入框(enter box, enterbox)

import easygui

flavor = easygui.enterbox("What is your favorite ice cream flavor?")

easygui.msgbox("you entered " + flavor)

image.png

默认输入

默认值(default)

import easygui

flavor = easygui.enterbox("What is your favorite ice cream flavor?",

default = 'vanilla')

easygui.msgbox("you entered " + flavor)

image.png

数字呢

如果想在EasyGui中输入一个数,完全可以先通过输入框得到一个字符串,然后使用int()或者float()由这个字符串创建一个数。

整数框(integer box, integerbox)可以用来输入整数,还可以对输入的数设置一个下界和上界。

整数框不允许输入浮点数(小数)。要输入小数 ,必须先通过输入框得到字符串,然后再使用float()转换这个字符串。

再看猜数游戏

import random,easygui

secret = random.randint(1,99)

guess = 0

tries = 0

easygui.msgbox("""AHOY! I'm the Dread Pirate Roberts, and I have a

secret! It is a number from 1 to 99. I'll give you 6 tries.""")

while guess != secret and tries < 6:

guess = easygui.integerbox("What's yer guess, matey?")

if not guess:break

if guess < secret:

easygui.msgbox(str(guess) + " is too low, ye scurvy dog!")

elif guess > secret:

easygui.msgbox(str(guess) + " is too high, landlubber!")

tries = tries + 1

if guess == secret:

easygui.msgbox("Avast!Ye got it! Found my secret, ye did!")

else:

easygui.msgbox("No more guess! The number was " + str(secret))

image.png

image.png

image.png

6.6 其他GUI组件

EasyGui还提供了另外一些GUI组件,包括允许多重选择的选择框等等

第7章 判断再循环

7.1 测试,测试

完成测试并根据结果做出判断称为分支(branching)。程序根据测试的结果来决定走哪条路,或者沿哪个分支执行。

python使用关键字if来测试条件

if timeAnswer == correctAnswer:

print("You got it right!")

score = score + 1

print("Thanks for playing.")

代码块block是一行或放在一起的多行代码。它们都与程序的某个部分相关(比如一个if语句)。在python中,通过将块中的代码行缩进来构成代码块。

if行末尾的冒号告诉python下面将是一个指令块。

7.2 缩进

在python中,编写代码时缩进是必不可少的一部分。缩进会告诉python代码块从哪里开始,到哪里结束。

python惯例:总是将代码块缩进4个空格。

7.3 是不是有问题

== 比较操作符

7.4 其他类型的测试

if 8 <= age <= 12:

比较操作符也称为关系操作符,比较也称为条件测试或逻辑测试。在编程中,逻辑就是指某个结论的答案是真还是假。

7.5 如果测试为假会怎么样

7.6 测试多个条件

7.7 使用and

image.png

7.8 使用or

7.9 使用not(进行反向测试)

if age >= 8:

if not (age<8):

image.png

第8章 转圈圈

□ 重复一定次数的循环,称为计数循环(counting loop);

□ 重复直至发生某种情况时结束的循环,称为条件循环(conditional loop),因为只要条件为真,这种循环会一直持续下去。

8.1 计数循环/for循环

for looper in [1,2,3,4,5]:

print("Hello")

每次循环称为一次迭代(iteraton).

for looper in [1,2,3,4,5]:

print(looper)

无限循环 Ctrl + C

8.2 使用计数循环

打印8的乘法表

for looper in [1,2,3,4,5]:

print(looper ,"times 8 = " ,looper*8)

image.png

8.3 一条捷径——range()

利用函数range(),只输入起始值和结束值,就会创建这二者之间的所有值。

把循环变量叫looper

8.4 风格问题——循环变量名

要使用能够描述变量用途的变量名。编程中有一个惯例,通常使用字母i、j、k等作为循环变量。

风格就是你的程序看上去怎么样,而与程序能不能正常工作无关。

8.5 按步长计数

for i in range(1,20,2):

print(i)

for i in range(10,1,-1):

print(i)

反向计数

import time

for i in range(10,0,-1):

print(i)

time.sleep(1)

print("BLAST OFF!")

image.png

8.6 没有数字的计算

for cool_guy in ['spongebob','spiderman','justin timberlake','my dad']:

print(cool_guy.title() + " is the coolest guy ever!")

8.7 关于这个问题

如果你能够提前知道希望循环运行多少次,那么for循环很合适。不过,有时你可能希望循环一直运行,知道发生某种情况时才结束,而且你不知道发生这种情况之前会有多少次迭代。这就可以用while循环来实现。

8.8 跳出循环——break和continue

用continue直接跳到循环的下一次迭代,或者用break完全终止循环。

第9章 全都是为了你——注释

9.1 增加注释

注释是给你看的,而不是让计算机执行的。注释是程序文档的一部分,计算机运行程序时会忽略这些注释。

文档就是关于一个程序的信息,描述了程序并说明它是如何工作的。注释是程序文档的一部分,不过在代码本身外,文档还包括其他部分,文档描述以下内容:

为什么写这个程序(它的用途)

这个程序是为谁写的

这个程序面向什么人(它的用户)

如何组织

更大、更复杂的程序往往有更多文档。

9.2 单行注释

(#)字符开头

9.3 行末注释

9.4 多行注释

三重引号字符串

9.5 注释风格

9.6 注释掉

可以使用注释临时跳过程序中的某些部分。作为注释的所有内容都会被忽略。

第10章 游戏时间到了

(暂略)

第11章 嵌套与可变循环

嵌套循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值