教小朋友学 Python -- 条件与循环

背景

昨天,为小朋友介绍了 什么是变量、什么是运算符以及运算符的优先级、什么是数据类型以及类型之间的相互转换。

今天,为小朋友介绍程序设计语言中最常见的两种语句,第一种是条件语句,第二种是循环语句。


Python 基本语法

<b>1. 条件语句</b>

<u>if 语句</u>

if expression:
    expr_true_suite
  • if 语句的expr_true_suite代码块只有当条件表达式expression结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
  • 单个 if 语句中的expression条件表达式可以通过布尔操作符andornot实现多重条件判断。
if 2 > 1 and not 2 > 3:
    print('Correct Judgement!')

<u>else 语句</u>

if expression:
    expr_true_suite
else
    expr_false_suite
  • Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")
guess = int(temp)
if guess == 8:
    print("你是小哥哥心里的蛔虫吗?")
    print("哼,猜对也没有奖励!")
else:
    print("猜错了,小哥哥现在心里想的是8!")
print("游戏结束,不玩儿啦!")
  • Python 使用缩进而不是大括号来标记代码块边界,因此要特别注意 else 的悬挂问题。

例子1

hi = 6
if hi > 2:
    if hi > 7:
        print('好棒!好棒!')
else:
    print('切~')

例子2

temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")
guess = int(temp)
if guess > 8:
    print("大了,大了")
else:
    if guess == 8:
        print("你是小哥哥心里的蛔虫吗?")
        print("哼,猜对也没有奖励!")
    else:
        print("小了,小了")
print("游戏结束,不玩儿啦!")

<u>elif 语句</u>

if expression1:
    expr1_true_suite
elif expression2:
    expr2_true_suite
    .
    .
elif expressionN:
    exprN_true_suite
else:
    expr_false_suite
  • elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。
temp = input('请输入成绩:')
source = int(temp)
if 100 >= source >= 90:
    print('A')
elif 90 > source >= 80:
    print('B')
elif 80 > source >= 60:
    print('C')
elif 60 > source >= 0:
    print('D')
else:
    print('输入错误!')

<u>assert 关键词</u>

  • assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。
  • 在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。
assert 3 > 7

<b>2. 循环语句</b>

<u>while 循环</u>

while expression:
    suite_to_repeat
  • while循环的suite_to_repeat子句会一直循环执行,直到expression值为布尔假
count = 0
while count < 3:
    temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")
    guess = int(temp)
    if guess > 8:
        print("大了,大了")
    else:
        if guess == 8:
            print("你是小哥哥心里的蛔虫吗?")
            print("哼,猜对也没有奖励!")
            count = 3
        else:
            print("小了,小了")
    count = count + 1
print("游戏结束,不玩儿啦!")

<u>for 循环</u>

for iter_var in interables:
    suite_to_repeat
  • 每次循环,iter_var迭代变量被设置为可迭代对象interales的当前元素,提供给suite_to_repeat语句块使用。

例子1

for i in 'ILoveLSGO':
    print(i, end=' ') #不换行输出

例子2

member = ['张三', '李四', '刘德华', '刘六', '周润发']
for each in member:
    print(each)

for i in range(len(member)):
    print(member[i])

<u>range() 函数</u>

range([start,] stop[, step=1])
  • 这个BIF(Built-in functions)有三个参数,其中用中括号括起来的两个表示这两个参数是可选的。
  • step=1 表示第三个参数的默认值是1。
  • range 这个BIF的作用是生成一个从start参数的值开始到stop参数的值结束的数字序列,该序列包含start的值但不包含stop的值。

例子1

for i in range(2, 9): #不包含9
    print(i)

例子2

for i in range(1, 10, 2):
    print(i)

<u>break 语句</u>

  • break语句可以跳出当前所在层的循环。
import random
secret = random.randint(1, 10) #[1,10]之间的随机数

while True:
    temp = input("不妨猜一下小哥哥现在心里想的是那个数字:")
    guess = int(temp)
    if guess > secret:
        print("大了,大了")
    else:
        if guess == secret:
            print("你是小哥哥心里的蛔虫吗?")
            print("哼,猜对也没有奖励!")
            break
        else:
            print("小了,小了")
print("游戏结束,不玩儿啦!")

<u>continue 语句</u>

  • continue终止本轮循环并开始下一轮循环。
for i in range(10):
    if i % 2 != 0:
        print(i)
        continue
    i += 2
    print(i)

<u>pass 语句</u>

def a_func():

# SyntaxError: unexpected EOF while parsing
  • pass语句的意思是“不做任何事”,如果你在需要有语句的地方不写任何语句,那么解释器会提示出错,而pass语句就是用来解决这些问题的。
def a_func():
    pass

<b>3. 综合例子</b>

passwdList = ['123', '345', '890']
valid = False
count = 3
while count > 0:
    password = input('enter password:')
    for item in passwdList:
        if password == item:
            valid = True
            break
            
    if not valid:
        print('invalid input')
        count -= 1
        continue
    else:
        break

总结

好了,到此为止有关于条件和循环语句的内容就介绍完了。小朋友们要刻意练习哦,基于这些语句,我们后面能做很炫的游戏来玩儿!是不是有些小期待!


相关图文

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,618评论 0 10
  • Python语言特性 1 Python的函数参数传递 看两个如下例子,分析运行结果: 代码一: a = 1 def...
    伊森H阅读 2,971评论 0 15
  • 上一章(第五章) 第六章 听说六脉神剑很厉害?(我和慕容博的那点事儿) 在谈我和慕容博是怎么成为老铁之前,我想先聊...
    傻鳗阅读 435评论 0 1
  • 边框的组成:边框的粗细,边框的样式,边框的颜色 border: 1px solid red 边框的粗细:单位为px...
    树袋熊熊阅读 288评论 0 0
  • 1 “老李,对不起啊,辜负你的心了,我还是走不出自己,这些年一直让自己忘掉……我不能让他活成另一个人的影子,这不...
    若木爹爹阅读 355评论 0 0