最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Python3萌新入门笔记(12)

Python教程 小楼一夜听春语 2363浏览 0评论

我们在日常生活中,往往需要对某件事情进行情形的判断,并且在符合某种条件的情形下,做出不同的反应。

比如,如果身体不舒服,就去医院看病。(唯一的一种情形)

又比如,如果喜欢苹果产品,就买iPhone手机;否则,买Android手机。(二选一的情形)

再比如,如果有面条,就吃面条;否则,如果有馒头,就吃馒头;否则,有什么吃什么。(多种选择并具有优先级的情形)

以上的举例,大家都能够明白。

那么,这样的例子,我们可以用代码表达出来。

第一,只需要满足条件时,执行某个过程。

代码格式如下:

if 条件:

        执行的语句块

“if”表示“如果”,如果条件成立时,将会执行下方向右缩进的语句块。

示例代码:

s = input('身体是不是不舒服?请回答:')
if s == '是': # 符合条件的情形
    print ('快去医院看病!')

运行结果(符合条件时):

运行结果(不符合条件时):

通过上面这个示例,大家能够看到条件判断中的条件是一个表达式。

条件表达式通常包括以下关系运算符:

==:表示等于,用于判断运算符两侧的内容是否相同。

!=:表示不等于,用于判断运算符两侧的内容是否不相同。

>:表示大于,用于判断运算符左侧内容是否大于右侧内容。

>=:表示大于等于,用于判断运算符左侧内容是否大于等于右侧内容。

<:表示小于,用于判断运算符左侧内容是否小于右侧内容。

<=:表示小于等于,用于判断运算符左侧内容是否小于等于右侧内容。

is:表示是,用于判断运算符左侧内容和右侧内容是否同一对象。

is not:表示不是,用于判断运算符左侧内容和右侧内容是否非同一对象。

in:表示被包含,用于判断运算符左侧内容是否被右侧内容所包含。

not in:表示不被包含,用于判断运算符左侧内容是否不被右侧内容所包含。

除了以上的关系型运算符,还有以下这些逻辑运算符:

and:表示并且。

or:表示或者。

not:表示不是。

这些逻辑运算符能够将多个条件表达式连接到一起,形成更复杂的条件表达式。

第二、当满足条件时,执行某个过程,否则,执行另一个过程。

代码格式如下:

if 条件:

    执行的语句块

else:

    执行的语句块  

“else”表示“否则”,如果条件成立时,将会执行if下方向右缩进的语句块,否则,执行else下方向右缩进的语句块。

示例代码:

s = input('是否喜欢苹果公司的产品?请回答:')
if s == '是': # 符合条件的情形
    print ('请购买iPhone手机!')
else: # 不符合上述条件的情形
    print ('请购买Android手机!')

运行结果(符合条件时):

运行结果(不符合条件时):

第三、当满足某个条件时,执行某个过程;否则,满足另外某个条件时,执行某个过程;最后,所有条件均不成立时,执行某个过程。

代码格式如下:

if 条件:

    执行的语句块

elif:

    执行的语句块

else:

    执行的语句块  

“elif”表示“否则,如果”。

如果符合某一条件,将会执行if下方向右缩进的语句块;

否则,如果符合某一条件,将会执行elif下方向右缩进的语句块;

否则,执行else下方向右缩进的语句块。

示例代码:

s = input('有什么吃的?请回答:')
if '面条' in s:  # 符合当前条件的情形
    print ('我要吃面条!')
elif '馒头' in s:  # 符合当前条件的情形
    print ('我要吃馒头!')
else: # 不符合上述所有条件的情形
    print ('随便来点吧!')

运行结果(满足if的条件时):

运行结果(满足elif的条件时):

运行结果(以上条件均未满足时):

注意:在编写代码时,elif可以在if之后和else之前多次出现,进行多种条件的判断。

接下来,我们结合上一篇循环的教程看一下,如何有条件的进行循环操作。

示例:计算一个列表中所有奇数和偶数之和。

示例代码:

l = [1, 2, 3, 4, 5, 6, 7, 8, 9]
count1 = 0  # 创建变量,用于奇数求和
count2 = 0  # 创建变量,用于偶数求和
for i in l:  # 循环遍历列表中全部元素
    if i % 2 == 0:  # 判断变量i中存储的为偶数
        count2 += i  # 进行偶数求和运算
        continue  # 结束当前循环过程,进入下一次循环
    count1 += i  # 进行奇数求和运算
print (count1)  # 显示输出结果为:25
print (count2)  # 显示输出结果为:20

在上方代码中,大家能够看到条件表达式:i % 2 == 0

这里的“%”为取余运算符,即能够获取i除以2时的余数。

例如:11除以2商5余1,那么11%2等于1。

另外,在上方代码中,还能够看到一个英文单词“continue”。

continue的中文含义是“继续”,写在循环的代码中,表示结束当前循环,继续下一次循环。

所以,在上方代码中,当i为偶数时,会进行偶数求和运算,然后跳过当前的循环,不会进行奇数求和运算;而为奇数时,才会进行奇数求和运算。

示例:找到小数点出现的位置。

示例代码:

f = input('请输入一个小数:')
count = 1  # 创建变量,用于计数
for i in f:  # 循环遍历输入的内容
    if i == '.':  # 判断变量i中存储的字符是否为小数点
        break  # 发现小数点时,跳出循环
    else:  # 不符合上述判断条件时
        count += 1  # 进行计数
print ('小数点出现在第%s位。' % count)

运行结果:

在上方代码中,又出现了一个英文单词“break”。

break的中文含义是“突破”,写在循环的代码中,表示跳出并停止循环。

所以,在上方代码中,当i为小数点时,将停止循环,输出结果;而在跳出循环之前,则会进行计数运算。

本节知识点:

1、条件判断3种类型

2、条件表达式与运算符

3、循环的继续与跳出

本节英文单词与中文释义:

1、if:如果

2、else:否则

练习:

获取用户输入的账号和密码,进行验证。有效账号为“小楼”,密码为“haoshuai”(或者自定义)。

验证成功或者失败均输出显示相应的提示。

答案:(见评论1楼)

转载请注明:魔力Python » Python3萌新入门笔记(12)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (8)

  1. 小楼一夜听春语
    练习题:
    user = input('请输入账号:')
    password = input('请输入密码:')
    
    if user == '小楼' and password =='haoshuai':
        print ('恭喜您,登录成功!')
    else:
        print ('很抱歉,登录失败!')
    
    小楼一夜听春语2年前 (2017-08-09)回复
  2. 头像
    :mrgreen: 看完,挺好。
    走路爱走神1年前 (2018-05-25)回复
  3. 头像
    and 没看答案不知道用哈哈
    banhnds1年前 (2018-09-06)回复
  4. 头像
    a = input('账号:') b = input('密码:') if a == 'machao': if b == '123456': print('登录成功!') else: print('密码错误!') else: print('无效账号!')
    强壮的前列腺11个月前 (10-10)回复
  5. 头像
    打卡
    橙子丶大魔王10个月前 (11-07)回复
    • 头像
      d = {'小楼':'A123','小帅':'AA123'} username = input('请输入你的用户名:') if username in d : print('用户名核对正确!') userpassword = input('请输入你的密码:') if userpassword == d[username] : print('密码验证成功,已登录!') else: print('密码错误,请重新输入!') userpassword = input('请输入核对后的正确密码:') if userpassword == d[username] : print('密码验证成功,已登录!') else: print('你输入的用户名不存在!')
      学习使人进步3个月前 (06-20)回复
      • 头像
        受教了!谢谢。
        寒风4周前 (08-21)回复
      • 头像
        ##请指教: a={'小楼':'帅气','嫂子':'美丽'} username=input('请输入账号:') count1=1 while True: if username in a: print('账号验证成功!') passward=input('请输入密码:') count2=1 while True: if passward==a[username]: print('密码验证成功,已登录!') break else: count2+=1 passward=input('请重新输入密码:') if count2>3: print('密码验证次数过多,请明天再来,再见!') break break else: count1+=1 username=input('您输入的账号不存在,请重新输入账号:') if count1>3: print('超时退出!') break
        寒风4周前 (08-21)回复