山东省高中信息技术学业水平考试试题网 - 数据与计算|信息系统与社会|数据与数据结构|网络基础|数据管理与分析|移动应用设计|三维设计与创意|开源硬件项目设计|算法初步|智能系统初步

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 97|回复: 0

「7」小学生都能理解的Python判断语句教程

[复制链接]
发表于 2018-2-13 19:21:16 | 显示全部楼层 |阅读模式
Python之父
7 `8 c' ]  i& C$ z) p
( K2 |+ B$ K* A3 D4 x. c( D 616c00025f444ddf0817
5 Y" ~6 v) L) V2 V2 \
+ e" O( q, D+ h1 z" }The best way to learn a programming language is to write a lot of code and read a lot of code.0 q, ?' N, Q) P/ d  X8 R
8 r4 @: m3 |' z3 A/ \7 i# J
在前几篇中,我们已经看到了程序的一些基本构成模块。现在可以利用输入、处置和输出建立一个程序了。我们以致还可以经过运用GUI让输入和输出更有意思一些。我们可以把输入赋给一个变量,以便以后运用,还可以运用一些数学运算来进行处置。
2 F3 F- k0 ^2 M
( o. t! \9 J0 G3 V 当然,在我们之前所看过的程序中,总是有一系列语句从上到下准确排列,并交由Python一步一步地执行。如果你想改动这一工作流程,应该怎么做?现在来看可以经过哪些方法对程序的工作进行控制。
* D7 C" x# V' U" D) \
' L& y' K. D9 ^: v/ Y" _判断
  D6 N8 }$ F1 d/ I5 W, O# T
- {9 [. l& W3 h4 i 日常生活中的有一种判断场景,如下:  `* n2 V9 b2 Q- m2 B# y

1 l1 Q% N  E5 z- `& Z: C 如果 Tim 给出的答案正确,就为他加 1 分。  t6 X: v6 R6 S& p! ?0 {4 d
& C. w0 i0 O6 ~0 A6 _
也就是说,Tim给出的答案等于正解的答案时,我们就会给Tim加1分。
- d) Q; w/ W4 T9 v, g  \7 i+ C$ }/ a$ \/ @
61680004b26ca2db023e - U3 L  z/ K5 l4 ~; \3 `5 q

: n7 M# z' p) B. D+ j2 k- F# j, j7 _ 上面的“Tim给出的答案等于正解的答案”就是判断的条件,如果这个条件是正确的,那么Tim就会加1分。. p8 {. h; L4 W3 B2 O0 p7 i7 _

! Z5 z0 t1 b+ ~  u9 e% L$ U2 X7 P 如果条件不正确,也就是“Tim给出的答案不等于正解的答案”,我们就不会给Tim加1分。
+ k2 c0 k3 U9 l1 ?! C/ h% ]* N3 l9 Z& J% `
可见,判断语句只需两个可能答案:真(true)或者假(false)。$ `8 E* \! I7 M. r8 ]+ d- o

, n. t0 V6 |. l. n% o. ` 61680004b26f15495e83 ) m0 n% @  k3 }7 \, k; {3 m, g2 R: b
0 R" `6 w& H$ ?: D
Python程序需要能够依据输入做不同的事情,可以运用关键字 if 来判断条件。上面的例子,我们可以用Python的判断语句if写成如下代码:7 n6 n- u9 g3 t

" C! G0 W# b8 _0 W 61670004cc11716630d1
  w4 G$ T* l2 p6 I. F/ ^( k1 R# i3 _  m
如果条件为真,就会完成之后⑴,如果条件为假,就会跳回⑵。
$ j1 o* V0 [4 ~/ y. }! x- r" c8 ^& @9 q: H& W4 ~5 a' E9 t
下面我们来详细解读下这段代码:; H# g8 i% Z" l7 W
: v4 s" L& Y5 L, }
616a00041091f5cb8c03
! o% t# k  O' B  |& O2 Q1 a! h" M/ e% W: Q
代码块0 j+ [% i: g9 e6 J

7 s0 ^& \6 \0 C- F' L/ u+ x. y$ M 代码块(block)是一行或放在一起的多行代码。它们都与程序的某个部分相关。在Python中,经过将块中的代码行缩进来构成代码块。  `) [( N# G1 }6 M4 Q: l! o% f

" \- D1 }) k- z. j2 \; q 这个例子中if行末尾的冒号告诉Python下面将是一个代码块。这个块包括从前面的if行以下直到下一个缩进的代码行之间的所有缩进代码行。也就是第2行和第3行构成了第1行中if的相应语句块。
% [: ]! \: b- L% e$ J- \; @
6 R5 [! g# K* Q- w" [% {7 e 如果条件(timsAnswer == correctAnswer)为真,就会完成这个代码块中的所有工作。也就是以下代码:: w/ M2 A2 d% Q& N
3 t& d/ x; e# l, V
61690004872a13e00aea
; r0 G7 h$ Q: Z9 ?
& a8 Y/ N( O7 L缩进5 K2 z4 h' U+ Z! N) F
/ i8 _3 J2 O8 E, z2 ]+ @+ u+ B
在Python中,编写代码时缩进是必不行少的一部分。缩进会告诉Python代码块从哪里开始,到哪里结束。5 }5 c$ [! n+ r3 P4 \9 q7 q/ s8 e
4 x  t# K1 _5 j& x4 L0 H
Python中的一些语句(如if语句)需要一个代码块来告诉它们要做什么。关于if语句,代码块会告诉Python如果条件为真时做什么。
* k. ?3 _9 m+ [0 _
4 d4 n5 \0 E2 W: n 将代码块缩进多远并不重要,只需保证整个代码块缩进的程序是一样的。
+ G. D" \7 ~( t/ @. i3 ]1 m5 h8 P: y* I; a- ]% y' ]# c7 ~
Python中有一个惯例:总是将代码块缩进4个空格。在你的程序中最好也采用这种风格。
! ?9 P+ S0 D- C; o( k
. a$ R( F2 q& I( y, V2 C9 hif语句的基本形式
+ x$ E, r8 T$ }% ~' L; O3 Z& f* L
由此我们可以知道if语句的基本形式如下所示:  F. o+ A9 v6 i6 m
ifcondition: statement_block
/ r7 U& a0 D8 |3 w 如果 "condition" 为 真(True) 将执行 "statement_block" 块语句。3 X5 G8 S" ]  c) |$ x* f
* B' J% x- v. n+ _7 D( [+ }5 J+ o
留意:* ]( S! o$ ~, g4 n7 |

$ ^# G4 T$ {5 Z3 i  X1、条件后面要运用冒号(:),表示接下来是满足条件后要执行的语句块。+ o+ P' e$ C+ [1 P8 Z4 r; r
( |  w  {, u  j* g2 M) x$ J5 j5 S/ {
2、运用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
/ \" G- \- ]  Q' c6 b5 ~0 g6 N4 z+ r( H
比较操作符
2 o1 w6 m1 G& C6 n! C" v+ c) D1 `, d: A4 k: u. ]
我们在上述例子中双等号(==)就是一个比较操作符。比较操作符也称为关系操作符,因为它们要判断两边值的关系:相等还是不相等,大于还是小于。给程序判断某个结论的答案是真还是假。4 C2 I9 z+ {" n  u/ [+ J$ i

9 r6 E: ]3 O1 J' M) q4 w  |2 k 而其他比较操作符更容易记:小于(<)、大于(>)和不等于(!=)。还可以把 > 或 < 与 = 结合起来表示大于或等于(>=)以及小于或等于(<=)。数学课上你可能已经见过这样一些符号。以下就是目前我们学习的比较操作符:2 k- [0 B) b1 F0 g( F
/ \$ G5 e& x) Z( G& {+ ~" J, i
616d000258535e705c86 ' g  G8 l2 D3 Y" O1 j. J2 b% b
& w7 {0 S/ ^$ K1 x3 E4 ?5 l& h# `
下面键入7-1代码清单,它是一个比较示例程序,试着用不同输入运转屡次,看看会得到什么结果。8 u6 c, y5 K* q- I# k
0 J+ ?# y8 k) z' A. h0 J
616c00025efb918eff71
7 k9 {5 k1 @/ o
: D9 m4 a, x* H4 o% T& F 在这里我们还要留意的是双等号(==)和等号(=)的区别。
3 S% l" o3 F# h6 S  p7 m- W, c( o' D9 ~% E
等号(=)用来设置变量或赋值(做某种设置),双等号(==)则用来判断两个东西能否相等(做某种判断能否相等,对还是错)。
8 v% C1 B, ~/ G" V$ V9 f# x5 F, y# H- ?- ?% ]
再判断
' j5 F: N. B) @& f, m
) X3 D, V6 t4 q 我们已经看到了,如果测试的结果为真,Python会做些什么。不过,如果测试为假,Python又会做一些什么呢?在Python中,有以下3种可能。
  z1 ^5 z2 v0 J9 C: M  T3 e* z7 n) h8 `3 n8 m! Y' }8 J
elif
  U3 a) Q8 \( f4 r* K1 i( ]; n2 l9 B" x1 j
如果第一个测试结果为假,可以利用关键字elif(这是else if的简写)让Python再做另一个测试,例如:
5 p6 J. R  g1 \6 O
: C' x/ E, J  v; Y 616a00041093a31a6980 : Z9 ?7 U8 o; o% B  A9 W4 t9 n
5 {  F2 D& w1 ?; {1 |; f! P
616c00025f04ede7a1a8
: S+ c" @  b# v; h9 ]$ P8 S& s7 p$ V
在if后面,elif语句你想要多少就可以有多少。
# C6 Q" i/ x3 ^; d0 b$ E
3 U6 T$ _5 P+ l% J( i, [: N4 ]else
2 {( F& T" c4 X8 n. O8 @# \/ D$ \+ s4 m
如果所有其他测试结果都是假,做其他工作。这要利用else关键字完成。它总是在最后出现,也就是完成if和所有elif语句之后。* c- P  C/ j# z1 m# A9 \% H& j

- u" R5 V+ p) f6 Z& m 616a000410942db213bc ( I5 c7 T4 S/ N/ Y% f

+ C  M1 c" u( E/ E+ P 616c00025f02eb22b100
/ F4 X* D$ o8 J9 }& i7 R1 p$ G$ S2 f
# J; O) z) f4 M/ H2 X6 N继续下一行代码
, @' F+ L/ n: D$ {5 l
" Y6 l( j" f0 l" t 如果if块后面没有听任何其他东西,程序会继续执行下一行代码(如果有的话),或者会结束(如果再没有更多代码)。" A, L$ g" [9 |1 _
* K7 i9 K' a/ _+ c
616a000410965bd85cef
& P2 C$ C/ B8 r2 F$ ?% Y, y; z- H7 w! D: @3 C& J2 C( z
经过以上3种情形,我们可以得到if语句的一般形式:/ n- `6 \. i" k, {
ifcondition_1: statement_block_1elifcondition_2: statement_block_2else: statement_block_3
  x+ J4 `1 H; ?+ e/ n0 E* s! S6 \
    % @: r- _( G4 c0 w/ w. S1 B# x# K) G
    如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句0 h% ?1 |' s4 N0 f& q# }9 I

    7 ~8 x' q- r' ]- f如果 "condition_1" 为False,将判断 "condition_2"
    ) q" |& J' {/ ]* ?2 D. O8 h
    6 q/ W8 E, }9 H3 F如果"condition_2" 为 True 将执行 "statement_block_2" 块语句+ P( q; S0 I" c
    + i+ [2 G5 y5 p! h1 M) b" _, B
    如果 "condition_2" 为False,将执行"statement_block_3"块语句5 w4 h( Y* A3 @. R$ Q* ~
4 @- x1 u; v0 k. |" z+ z$ t. d  s
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else2 c- K! f, a6 T1 @- G* t0 S6 ?
( ~* I$ E; e" X' z  s$ u
留意:
$ k% [3 I; C# j" _% ~  {, m5 y0 Y. c! Q$ T6 F
1、每个条件后面要运用冒号(:),表示接下来是满足条件后要执行的语句块。# z  Y" a+ S( |6 k7 E3 j

/ k5 @$ M+ o5 q9 I$ T, t1 x8 J; G1 {2、运用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
! u7 u& j5 `$ u1 d. d5 R
" u2 e2 a4 }5 U1 J4 I: H* D3 x( C$ y多个条件的判断% [6 m4 Y/ o* F% P! o+ L

4 |3 R4 N3 l- ]! C& j 如果想要判断好几个不同的条件该怎么办?假定你要为8岁以上的人创建一个游戏,另外你希望玩家至少上三年级。这就要满足两个条件。下面是判断这两个条件的一种方法:
- x3 k9 E* {6 }. N) S
: j) N; p: F9 G9 r 61690004872f44dd9abc ) X' \* ^( n6 h3 s, j0 T$ o0 f
2 a" A0 l1 {+ j( V+ [
留意第一个print行缩进8个空格,而不只是4个空格。这是因为每个if都需要自己的代码块,所以都要缩进4个空格。
/ v6 @$ U) |7 w  L
# Y6 h7 t$ |) T 我们也称这种叫if嵌套语句,在这样的语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。如下形式:1 G3 t$ j: D4 H5 t
if表达式1:语句if表达式2:语句elif表达式3:语句else:语句elif表达式4:语句else:语句
+ ^' e, y, ?3 }, {1 w( ^and、or和not操作符
7 y2 i$ Q( J( s: A- Y4 P$ n
8 |4 j/ m- A" ?+ y and关键字表示两个或两个以上的条件都必需为真才能执行下面的代码块,我们用and关键字来对上面最后的例子更改看看:$ n# W# F7 T2 K1 i
( x' Y( e, b- I. r5 t* l2 _3 G
61680004b27429c0add7
6 o1 g1 w) f3 X+ s: Z6 G6 H- K2 H
* l/ |5 X) ^7 g# z 61670004cc19893700b3 , A) F% Q6 K* g/ P
" A; q, A- H: [. a% I! u
两个或两个以上的条件都必需为真,这个if语句执行代码块。
# O# F5 o: u# z5 X
7 i$ ]( C3 [4 J7 a7 f or关键字也是用来把多个条件放在一起。如果运用or,只需恣意一个条件为真,就会执行代码块。可以试试以下代码:
+ ]7 o4 Q$ `# [& w0 ]5 l
4 K3 z4 ?1 z* ]; E3 m1 A* i# V 616a00041097ab8943c9
" ]4 d$ A- L$ b. w/ R1 B- N9 x9 C$ k; ^# U. O5 q
616d0002585995aeb2c9 5 x$ J; O: p; c+ o  }0 O  J; U: @
+ o; g7 V# ]. b! w6 c1 i" _, y
还可以用not把比较倒过来,表示相反的判断。
) ~0 h+ l# x0 P
) \/ U- n+ `4 h) N2 x2 R 这行代码:; _" m5 i- h3 s, ~9 r3 ]
$ q6 u3 W/ w2 V/ d& `7 E- q
if not (age < 8) :4 G! C" g& l+ U. q) `, `8 I

3 }$ B, o3 x$ d: h# ~0 V 与这行代码:$ E3 F2 r! d) n4 c

$ r3 g, {3 f$ z/ A% l% ~! d/ b, _  dif age >= 8 :- D! W+ A+ f. w: J9 y
' f* r. f$ M+ E
两者的含义是一样的。在这两种情况下,如果年龄是8岁或者超过8岁就会执行代码块,如果年龄小于8就不会执行。( R; `$ K/ X. M& Z  _
) e& W( S* s& T+ N# V' {
总结一些符号
3 H* `$ X" M$ J2 C( \: K/ F
- |3 K/ h8 N9 h/ W 第4 篇中,我们见过诸如+、-、* 和/ 等数学运算符。在本章中,我们理解了比较操作符<、>、== 等。and、or 和not 关键字也是操作符。它们被称为逻辑操作符(logical operator)。这些操作符用来修正比较,可以结合两个或多个比较(and 和or),或者取反(not)。( m/ s$ @+ `! w- `  z
4 l- R2 v, m+ m2 ~9 D
下列表格列出了目前为止我们讨论过的所有操作符。
' o5 J4 {$ S1 t  M! c) `/ ~
& z, q2 g; M. h- x6 K8 U 61680004b275d1840082 8 L( X7 F, E6 D: N" l
0 i! g2 N8 U( _5 A1 S# m, m! ]- z$ y
你可能要保存这张图,这样下次就能很容易地查阅这个表了。! k* `2 M3 s- b2 D0 f( U

/ q# V6 u0 L! |; L5 OEND
, D! [  y$ e; {/ X" S
3 r4 ~% g! [4 @" v
' V0 O+ G# q* n$ F9 C9 G) ~4 F以上内容整理自互联网,如有侵权,请联系删除!
楼主热帖



上一篇:Python无缝调用C/C++代码
下一篇:数据挖掘算法:啤酒与尿布的SQL简单实现
+1
97°C
沙发哦 ^ ^ 马上
回复

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站务公告栏:
0元购 优惠券① 百度一下 优惠券② 0元淘

QQ|Archiver|手机版|小黑屋|山东省高中信息技术学业水平考试试题网 ( 鲁ICP备16049757号 )|网站地图|申请友情链接

GMT+8, 2018-2-23 02:50 , Processed in 0.287010 second(s), 38 queries .

快速回复 返回顶部 返回列表

商品:重庆麻辣多拿自热自助自煮小火锅速食方便懒人火锅微火锅便携446g
原价:24.80元 券后价:14.8元
购买链接:Click here!
推荐理由:正宗重庆麻辣多拿自热小火锅,四荤七素,冷水自煮火锅,不添加人工色素,够味麻辣香鲜,不插电,不开火,油不腻嘴,辣不刺喉,香醇浓郁,回味悠长,美味随时随地! top100:1
淘宝优惠券领取处:Click here!