当前位置: 首页 > news >正文

流程控制之if判断

目录

  • 一、语法
    • 1.1 if
    • 1.2 if...else
    • 1.3 if...elif...else
  • 二、if的嵌套
  • 三、练习
    • 3.1 练习1:成绩评判
    • 3.2 练习2:模拟登录注册

一、语法

if判断是干什么的呢?if判断其实是在模拟人做判断。就是说如果这样干什么,如果那样干什么。对于ATM系统而言,则需要判断你的账号密码的正确性。

1.1 if

学什么都是为了让计算机向人一样工作,我们无时无刻都在判断。路边路过一个生物,你会判断两个人是不是会表白?首先会判断这个生物是不是人类,并且这个人类是个女人,年龄大于18小于20几岁。你首先需要记录一堆数据,然后才会用你的大脑去判断。if表示if成立代码成立会干什么。

if 条件:
    代码1
    代码2
    代码3
    ...
# 代码块(同一缩进级别的代码,例如代码1、代码2和代码3是相同缩进的代码,这三个代码组合在一起就是一个代码块,相同缩进的代码会自上而下的运行)
cls = 'human'
gender = 'female'
age = 18

if cls == 'human' and gender == 'female' and age > 16 and age < 22:
    print('开始表白')

print('end...')
开始表白
end...

1.2 if...else

if 条件:
    代码1
    代码2
    代码3
    ...
else:
    代码1
    代码2
    代码3
    ...

if...else表示if成立代码成立会干什么,else不成立会干什么。

cls = 'human'
gender = 'female'
age = 38

if cls == 'human' and gender == 'female' and age > 16 and age < 22:
    print('开始表白')
else:
    print('阿姨好')
阿姨好

1.3 if...elif...else

if 条件1:
    代码1
    代码2
    代码3
    ...
elif 条件2:
    代码1
    代码2
    代码3
    ...
elif 条件3:
    代码1
    代码2
    代码3
    ...
...
else:
    代码1
    代码2
    代码3
    ...

if...elif...else表示if条件1成立干什么,elif条件2成立干什么,elif条件3成立干什么,elif...否则干什么。

cls = 'human'
gender = 'female'
age = 28

if cls == 'human' and gender == 'female' and age > 16 and age < 22:
    print('开始表白')
elif cls == 'human' and gender == 'female' and age > 22 and age < 30:
    print('考虑下')
else:
    print('阿姨好')
考虑下

二、if的嵌套

如果我们表白的时候,表白成功的时候我们是不是会做什么,表白不成功是不是又会会做什么呢?

# if的嵌套
cls = 'human'
gender = 'female'
age = 18
is_success = False

if cls == 'human' and gender == 'female' and age > 16 and age < 22:
    print('开始表白')
    if is_success:
        print('那我们一起走吧...')
    else:
        print('我逗你玩呢')
else:
    print('阿姨好')
开始表白
我逗你玩呢

三、练习

3.1 练习1:成绩评判

  • 如果 成绩>=90,打印"优秀"
  • 如果 成绩>=80 并且 成绩<90,打印"良好"
  • 如果 成绩>=70 并且 成绩<80,打印"普通"
  • 其他情况:打印"差"
# 成绩评判
score = input("your score: ")
score = int(score)


if score >= 90:
    print('优秀')
# elif score >= 80 and score < 90:
elif score >= 80:
    print('良好')
# elif score >= 70 and score < 80:
elif score >= 70:
    print('普通')
else:
    print('差')
your score: 80
良好

3.2 练习2:模拟登录注册

# 模拟登录注册
user_from_db = 'nick'
pwd_from_db = 123

user_from_inp = input('username: ')
user_from_inp = input('password: ')

if user_from_inp == user_from_db and pwd_from_inp == pwd_from_db:
    print('login successful')
else:
    print('username or password error')
username: nick
password: 123
username or password error

转载于:https://www.cnblogs.com/nickchen121/p/10737326.html

相关文章:

  • SpringBoot简单入门
  • Request的方法和数组
  • 关闭Linux中的iptables,firewalld,SELINUX
  • 字典类型内置方法
  • Python爬虫入门教程 61-100 写个爬虫碰到反爬了,动手破坏它!
  • 青柠音乐搜索下载2.0.1(PC软件)
  • postgres读写性能测试(本地、NFS)
  • UCML JS函数说明
  • 【剑指Offer】13、调整数组顺序使奇数位于偶数前面
  • 【2019计划】想要变得优秀 顺其自然是不可能的。
  • 常见跨域解决方案
  • 前端工程化
  • 【AtCoder】ARC071
  • [Markdown] 02 简单应用 第二弹
  • webmagic爬虫框架抽取元素
  • extract-text-webpack-plugin用法
  • Flannel解读
  • ng6--错误信息小结(持续更新)
  • Object.assign方法不能实现深复制
  • PAT A1120
  • React+TypeScript入门
  • Redis中的lru算法实现
  • 动态规划入门(以爬楼梯为例)
  • 基于 Babel 的 npm 包最小化设置
  • 我这样减少了26.5M Java内存!
  • 一道闭包题引发的思考
  • 【干货分享】dos命令大全
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • 如何用纯 CSS 创作一个货车 loader
  • 昨天1024程序员节,我故意写了个死循环~
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • # Pytorch 中可以直接调用的Loss Functions总结:
  • (1)Android开发优化---------UI优化
  • (AngularJS)Angular 控制器之间通信初探
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (备忘)Java Map 遍历
  • (非本人原创)史记·柴静列传(r4笔记第65天)
  • (十八)三元表达式和列表解析
  • (使用vite搭建vue3项目(vite + vue3 + vue router + pinia + element plus))
  • (四) Graphivz 颜色选择
  • (转)http-server应用
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .md即markdown文件的基本常用编写语法
  • .Net Core 中间件验签
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET 反射 Reflect
  • .net 无限分类
  • .NET成年了,然后呢?
  • .NET与java的MVC模式(2):struts2核心工作流程与原理
  • /etc/sudoers (root权限管理)
  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • [boost]使用boost::function和boost::bind产生的down机一例
  • [BUAA软工]第一次博客作业---阅读《构建之法》
  • [BZOJ 1040] 骑士
  • [bzoj1038][ZJOI2008]瞭望塔