自学Python所记(三)

七、判断

关键字:if、 elif、 else

7.1、if结构

基本语法:

if 判断条件:

​       书写条件成立,执行代码

# 1 、if是一个关键字,和后续田间之间需要一个空格
# 2、判断条件后需要一个冒号
# 3、冒号后,回车,代码需要缩进,pycharm中会自动进行缩进,一般是4个空格 或者一个Tab健
# 4、所有在if代码下方的缩进中书写的代码,属于if语句的代码块,判断条件为True时会执行
# 5、if代码块中的代码,要么都执行,要么都不执行
# 6、if代码块结束之后,代码顶格书写,表示和if无关
# 使用input获取用户的年龄
age = input('请输入你的年龄')
# 判断年龄是否满足18岁
if int(age) >=18: # 字符串和整型不能比较大小
    # 如果年龄大于等于18岁,输出满18,可以进网吧
    print('满18可以进入网吧了')
   
练习
# 获取用户输入的用户名
user = input('请输入用户名')
# 如果用户名是admin,就在控制台输出
if user == 'admin':
    print('欢迎 admin')

7.2、if else结构

基本语法:

if 判断条件:
    书写条件成立,执行代码
else:
    书写条件不成立,执行代码
# 1、else后面需要冒号
# 2、if else  的代码块只会执行一个
# 使用input获取用户的年龄
age = input('请输入你的年龄')
# 判断年龄是否满足18岁
if int(age) >= 18:  # 字符串和整型不能比较大小
    print('满18可以进入网吧了')
# 如果年龄大于等于18岁,输出满18,可以进网吧
# 如果不满足,输出回去写作业
else:
    print('不满18岁,回去写作业')

练习

# 获取用户输入的用户名
user = input('请输入用户名')
# 如果用户名是admin,就在控制台输出
if user == 'admin':
    print('欢迎 admin')
# 如果用户名不是admin,输出用户名错误
else:
    print('用户名错误')
案例一:
# 获取用户输入的用户名和密码
user = input('请输入用户名')
pwd = input('请输入密码')
# 判断登录名是admin并且密码是123456时,输出:登录成功
if user == 'admin' and pwd == '123456':   #引号内若有空格,如 'admin  ',则输入admin不正确
    print('登录成功')
# 否则输出:登录信息错误

else:
    print('登录信息错误')

案例二:
# 获取用户输入的用户名
user = input('请输入用户名:')
# 判断用户名是admin,输出欢迎admin登录
if user == 'admin' or user =='test':
    print(f'欢迎{user}登录')
# 判断用户名是test,输出欢迎test登录
# 如果是其他信息,输出查无此人
else:
    print('查无此人')

7.3、if elif else 结构

如果某个判定条件有多个,此时建议使用if elif else 结构实现

语法:

if 判断条件1:
    判断条件成立,执行程序
elif 判断条件2:
    判断条件2成立执行代码
else:
    以上条件都不成立,执行的代码
# 1、在一个if判断中可以有很多个elif
# 2、只有if的条件不成立,才会判断elif的条件
# 3、有多个elif时,只要有一个条件成立,后续都不在判断
# 4、多个if结构,没有关联性

elif实现案例:

# 定义score变量记录考试分数
# 如果分数是大于等于90分应该显示优
# 如果分数是大于等于80分并且小于90应该显示良
# 如果分数是大于等于70分并且小于90应该显示中
# 如果分数是大于等于60分并且小于70分应该显示差
# 其他分数显示不及格
score = int(input('请输入分数'))
if score >= 90:
    print('优')
elif (score>=80) and score<90:
    print("良")
elif score >=70: # score<80可以不写,上面判断不成立,才会执行这个
    print('中')
elif score >=60:
    print('差')
else:
    print('不及格')


7.4、if嵌套结构

if嵌套

使用场景:判断条件存在递进关系(只有第一个条件满足了,才会判断第二个条件)

语法:

if 判断条件:
   判断条件1成立,执行代码
   if 判断条件2:
       判断条件2成立,执行代码
    else :
       判断条件2不成立,执行代码
else:
   判断条件1不成立,执行代码
   
#取款机取钱的过程,假定密码为:123456,账户余额为1000
pwd = '123456'#可以预先定义变量,也可以在判断的时候直接使用
money = 1000 #可以预先定义变量,也可以在判断的时候直接使用
#提示用户输入密码
password = input('请输入密码:')
#判断密码是否正确
if password == pwd:
    print('密码正确,登录成功')
#密码正确后,提示取款金额
    get_money = int(input('请输入取款金额'))
#判断取款金额和余额的关系
    if get_money <= money:
        print('取款成功')
    else:
        print('余额不足')
else:
    print('密码错误,请再次尝试')

7.5、练习(出拳游戏)

#假定某网站用户名固定为'admin',密码固定为’123456‘,验证码固定为’8888‘
#获取用户输入的用户名,密码和验证码
user = input('请输入用户名')
pwd = input('请输入密码')
code = input('请输入验证码')
#先判断验证码是否正确,如果正确输出验证码正确,再判断用户名和密码是否正确
if code == '8888':
    print('验证码正确')
    if user=='admin' and pwd=='123456':
        print('用户名正确')
    else:
        print('用户名或密码错误,请重新尝试')
#如果验证码不正确,直接输出 验证码不正确,请重新输入
else:
    print('验证码不正确,请重新输入')


猜拳游戏:

案例步骤:
1、自己出拳(石头(1)/剪刀(2)/步(3))input (player)
2、电脑随机出拳(computer)
3、判断输赢
 3.1、玩家胜利
   player==1 and computer==2
or player==2 and computer==3
or player==3 and computer==1
 3.2、平局
   player==computer
 3.3、玩家输了else
  

随机出拳:

需要电脑随机出拳
在python中想要随机获得数字方法
# 1、导入随机数工具包
import random
# 2、使用工具包中的工具产生指定范围内的数字
random.randint(a,b) # 产生[a,b]之间的随机整数,包含a b的
import random # 这行代码习惯放在第一行

num = random.randint(1,3)
print(num)
猜拳游戏程序:
import random

# 1、自己出拳(石头(1)/剪刀(2)/步(3))input (player)
player = int(input('出拳石头(1)/剪刀(2)/步(3):'))
# 2、电脑随机出拳(computer),使用随机数模块完成
computer = random.randint(1, 3)
# 3、判断输赢
# 3.1、玩家胜利
if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
    print('恭喜你胜利')
# 3.2、平局
elif player == computer:
    print('平局')
#  player==computer
# 3.3、玩家输了else
else:
    print('输了,不要放弃,再来一局')

八、Debug调试代码

debug在代码中出现错误,可以使用debug来调试代码,查找错误
我们用debug主要 用来查看代码的执行步骤

1、打断点

在pycharm中,代码和行号之间进行点击,出现小红点即打断点,再次点击红点会消失

断点的位置一般会出现在第一行(在运行的时候,想要在什么地方停下来)

注意点:可能会出现的bug(pycharm软件问题):代码中只有一个断点的时候不能debug调试查看代码执行过程,解决方案,在代码其他任意地方多加一个断点

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lXJLpCGu-1649770649000)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1649747339530.png)]

2、右键debug运行代码

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RWYActKr-1649770649014)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1649747529295.png)]

3、单步执行F8

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ufXBu8SH-1649770649016)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1649748403038.png)]

九、循环

三大流程:

1、顺序,代码从上到下,全部执行

2、分支,判断语句,代码有选择性的执行

3、循环,重复执行某一部分代码

9.1、while循环

语法:

1、设置循环的初始条件
2、书写循环的判断条件
while 判断条件:
    需要重复执行的代码
    改变循环的初始条件(计数器)
#设置循环的初始条件(记录说了几遍 我喜欢你)
i = 0
# 书写判断条件
while i<5:
    #重复执行的代码
    print ('我喜欢你')
    #改变初始条件
    #i=i+1
    i +=1

9.2、死循环和无限循环

  • 死循环:一般由于写代码不小心造成的bug

  • 无限循环:写代码的人故意让代码无限的去执行,在书写循环时,不知道循环要执行多少次

​ 无限循环的使用一般会在循环中添加一个if判断,当if条件成立,使用关键字break来终止循环

while True:
    重复执行的代码 # 可以在if的上边
    if 判断条件:
      break #当代码遇到break,这个循环就不再执行了
    重复执行的代码 #可以在if的下边
  • 书写循环的技巧:

    确定这行代码执行几次,如果执行多次,就放在循环的缩进中,如果只执行一次,就不要放在循环的缩进中

import random

while True: #不知道想玩几次
    # 1、自己出拳(石头(1)/剪刀(2)/步(3))input (player)
    player = int(input('出拳石头(1)/剪刀(2)/步(3):'))
    if player==0:
        break #代码遇到break就会终止循环
    # 2、电脑随机出拳(computer),使用随机数模块完成
    computer = random.randint(1, 3)
    # 3、判断输赢
    # 3.1、玩家胜利
    if (player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1):
        print('恭喜你胜利')
    # 3.2、平局
    elif player == computer:
        print('平局')
    #  player==computer
    # 3.3、玩家输了else
    else:
        print('输了,不要放弃,再来一局')

9.3、练习

使用循环求1-100的和

# 定义变量 保存求和的结果
num = 0
# 定义循环获取1-100之间的数字并求和
i = 1  # 定义初始条件
while i <= 100:  # 书写循环条件
    num += i # 书写重复执行的代码0+1+2+3+4+...+100
    i += 1  # 改变计数器
# 打印求和的结果
print('求和的结果是:', num)

使用循环求1-100之间偶数的和

方法一:

直接找到1-100之间的偶数,进行相加

# 定义变量 保存求和的结果
num = 0
# 定义循环获取1-100之间的数字并求和
i = 2  # 定义初始条件
while i <= 100:  # 书写循环条件
    num += i # 书写重复执行的代码0+1+2+3+4+...+100
    i += 2  # 改变计数器
# 打印求和的结果
print('求和的结果是:', num)

方法二:

找1-100之间的所有数字

判断这个数是不是偶数,如果是偶数再求和

偶数:能被2整除的数

num = 0
i = 1
while i <= 100:
    if i % 2 == 0:
        num += i
    i += 1
    print('求和结果是:',num)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值