基础知识:if判断、while循环、for循环
今日学习内容
1、if 判断(流程控制的一种)
写重复的代码是程序员最不耻的行为,所以我们需要while循环和for循环 ,^_^!
2、while循环(条件循环)
3、for循环(迭代器循环)
==========================================================
一、if 判断
语法一:if判断
sex = 'female' age = 32 is_beautiful = True if sex == 'female' and age == 18 and is_beautiful: print('Begin your love words:') print('another code1') print('another code2')
if判断使用注意事项:if条件紧跟着一个冒号:+回车,pycharm会自动进入到下一行并缩进4个空格,开始进入运行一组代码块。在这里注意中英文输入法对代码“括号、冒号、逗号”这些字符的影响,谨记一定要用英文输入法输入,不然容易出现报错。
语法二:if+else判断
sex = 'female' age = 18 is_beautiful = True if sex == 'female' and 16 < age <24 and is_beautiful: print('Begin your love words.') else: print('Say nothing...')
语法三:if+else 的嵌套
sex = 'female' age = 18 is_beautiful = True is_success = True if sex == 'female' and 16 < age <24 and is_beautiful: print('Begin your love words.') if is_success: print('HaHaHa') else: print('I hate love,go away!') else: print('Say nothing...')
tip:①and 多个条件并过长时,可用‘\+回车’来多行显示,这里不影响语法。
②快捷操作,TAB键 可以进行快捷缩进,比如选中多行一起快捷缩进,要回退的话,按shift+tab组合键。
语法四:if+elif+else
# 输入成绩判断优秀、很好、一般、很差 score = input('Please input your score:') score = int(score) if score >= 90: print('优秀') elif score >= 80: print('很好') elif score >= 70: print('一般') else: print('很差')
小练习:
name = input('请输入您的用户名:') pwd = input('请输入您的密码:') ': print('登陆成功') else: print('用户名或密码错误')
练习一:用户登陆验证
sgt = 'spueradministrator' sgf = 'systemadministrator' shr = 'administrator' sqs = 'guest' name = input('please input your username:') if name == 'sgt': print('你好,超级管理员!') elif name =='sgf': print('你好,系统管理员!') elif name == 'shr': print('你好,管理员!') elif name == 'sqs': print('你好,宾客!')
根据用户输入内容打印其权限
while True: today = input('今天是星期几?') if today == 'monday' or today == 'tuesday' or today == 'wednesday'\ or today == 'thursday' or today == 'friday': print('上班') break elif today == 'saturday' or today == 'sunday': print('出去浪') break else: print(''' 必须输入以下任意一种: monday tuesday wednesday thursday friday saturday sunday ''')
上班或出去浪
二、while循环
方式一:while+True/False
tag = True while tag: name = input('please input your name:') pwd = input('please input your password:') ': print('congratulation,region success!') tag = False else: print('your name or password is wrong,please try again!')
方法二:while+break
while True: name = input('please input your name:') pwd = input('please input your password:') ': print('congratulation,region success!') break else: print('your name or password is wrong,please try again!')
break是终止本层while循环。
方法三:while+continue
nums = 1 while nums <= 6: if nums == 4 or nums == 5: nums += 1 continue else: print(nums) nums += 1
终止当前循环,直接进入下次循环。
方法四:while+else
nums = 1 while nums <= 6: if nums == 4 or nums == 5: nums += 1 continue else: print(nums) nums += 1 else: print('前面代码无break,else 条件成立,否则else不执行。')
方法五:while的嵌套
示例一:
while True: name = input('please input your username:') pwd = input('please input your password:') ': print('login successful') while True: print(''' 0_退出 1_取款 2_转账 3_查询 ''') choice = input('请输入您要执行的操作:') ': break ': print('取款...') ': print('转账...') ': print('查询...') else: print('输入指令有误,请重新输入:') break else: print('username or password error!')
改进示例二:
tag = True while tag: name = input('please input your username:') pwd = input('please input your password:') ': print('login successful') while tag: print(''' 0_退出 1_取款 2_转账 3_查询 ''') choice = input('请输入您要执行的代码:') ': tag = False ': print('取款...') ': print('转账...') ': print('查询...') else: print('指令错误,请重新输入') else: print('username or password error')
三、for 循环 (其强大之处在于循环取值)
方案一、
for循环取值列表:
取值如果用while循环: l = ['a', 'b', 'c', 'd', 'e'] i = 0 while i < len(l): #这里的len(l)表示计算列表l的长度(也就是索 #引数) print(l[i]) i += 1 如果我们使用for循环取值: l = ['a', 'b', 'c', 'd', 'e'] for x in l: #这里的x in l 是直接将l列表里的数据取出关联 print(x) #到x,不用额外赋值。
for循环取值字典:
info = {'sgt': 'me', 'sgf': 'brother', 'age': 18, 'sun': 'shr'} for x in info: print(x, info[x])
方案二、for+break
取出列表前几个数,后面的不取
nums = [11, 22, 33, 44, 55] for x in nums: if x == 44: break print(x)
方案三、for+continue
不取其中的多个数据
nums = [11, 22, 33, 44, 55] for x in nums: if x == 22 or x == 44: continue print(x)
方案四、for+else
names = ['egon', 'alexdsb', 'sb', 'dsb'] for name in names: if name == 'alexdsb': break print(name) else: print('>>>>>>>>>>>') #有break ,else下面的print不执行。 names = ['egon', 'alexdsb', 'sb', 'dsb'] for name in names: if name == 'alexdsb': continue print(name) else: print('>>>>>>>>>>>') #如果无break,else下面的print执行。
方案五、for+range()
range的用法:
>>> range(5) [0, 1, 2, 3, 4] >>> range(1,5) [1, 2, 3, 4] >>> range(1,5,2) [1, 3] >>> range(1,1) [] >>> 正规格式为range(1,5,2) 表示:从1开始计数,每计数一次递增2,所以结果是[1,3] 如果括号里只有一个数,代表(0,5,1),即从0开始计数,递增数为1.
示例:
for x in range(5): print(x) #结果: # # # # #
方案六、for循环嵌套
for x in range(3): for y in range(3): print(x, y) ''' 结果 0 0 0 1 0 2 1 0 1 1 1 2 2 0 2 1 2 2 '''
基础知识:if判断、while循环、for循环的更多相关文章
- python基础知识--条件判断和循环
一.输入输出 python怎么来接收用户输入呢,使用input函数,python2中使用raw_input,接收的是一个字符串,输出呢,第一个程序已经写的使用print,代码入下: 1 name=in ...
- 基础知识:if条件、while循环、for循环 相关练习
1.实现用户输入用户名和密码,当用户名为 seven 且 密码为 123 时,显示登陆成功,否则登陆失败! while True: name = input('请输入用户名:') psw = inpu ...
- Python编程-基础知识-条件判断
1. 简单的if/else条件判断 judge_flow.py name = input("Please input name: ") if name == 'master': p ...
- C语言基础知识【判断】
C 判断1.判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的).C 语言把任何非零和非空的值假定为 true,把零或 null ...
- python学习第四讲,python基础语法之判断语句,循环语句
目录 python学习第四讲,python基础语法之判断语句,选择语句,循环语句 一丶判断语句 if 1.if 语法 2. if else 语法 3. if 进阶 if elif else 二丶运算符 ...
- PHP丨PHP基础知识之PHP基础入门——函数「理论篇」
前两天讲过PHP基础知识的判断条件和流程控制,今天来讲讲PHP基础知识之PHP基础入门--函数! 一.函数的声明与使用 1.函数名是标识符之一,只能有数字字母下划线,开头不能是数字. 函数名的命名,须 ...
- JavaScript基础知识(三个判断、三个循环)
三个判断 if…else…只会执行其中一个条件 如果if条件中只有一个值,那么会默认转布尔: if(1=="1"){ // 当括号中条件为true时,执行此处的代码 console ...
- python-基础-基础知识-变量-选择-循环
1 基础知识 1.1 注释的分类 1.2 变量以及类型 变量定义 num1 = 100 #num1就是一个变量,就好一个小菜篮子 num2 = 87 #num2也是一个变量 result = num1 ...
- 原生 js基础常用的判断和循环
原生 js基础常用的判断和循环 以下部分是个人实践及和搜集的资料: 最常用的if判断语句: if (/* 条件表达式 */){ // 成立执行语句 } else { // 否则执行语句 } 原生js的 ...
- PHP丨PHP基础知识之流程控制WHILE循环「理论篇」
昨天讲完FOR循环今天来讲讲他的兄弟WHILE循环!进入正题: while是计算机的一种基本循环模式.当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环.while语句的一般表达式为:whil ...
随机推荐
- 关于Python3.6中Twisted模块安装的问题
今天准备学习爬虫的scrapy模块,在这之前需要安装许多别的模块,Twisted就是其一 一开始想着直接用pycharm来安装就行了,没想到安装了一会就报错了,如下 后来就换到命令提示符来安装,在官网 ...
- Android版数据结构与算法(五):LinkedHashMap核心源码彻底分析
版权声明:本文出自汪磊的博客,未经作者允许禁止转载. 上一篇基于哈希表实现HashMap核心源码彻底分析 分析了HashMap的源码,主要分析了扩容机制,如果感兴趣的可以去看看,扩容机制那几行最难懂的 ...
- LeetCode刷题专栏第一篇--思维导图&时间安排
昨天是元宵节,过完元宵节相当于这个年正式过完了.不知道大家有没有投入继续投入紧张的学习工作中.年前我想开一个Leetcode刷题专栏,于是发了一个投票想了解大家的需求征集意见.投票于2019年2月1日 ...
- 异步多线程 Async
进程:进程是一个程序在电脑运行时,全部资源的合集叫进程 线程:是程序的最小执行单位,包含计算资源,任何一个操作的响应都是线程完成的. 多线程:多个线程并发执行 Thread 是.net框架封装 ...
- Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法
Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法:在写LINQ语句的时候,往往会看到AsEnumerable() ,AsQueryable() 和T ...
- Java多线程与并发之面试常问题
JAVA多线程与并发 进程与线程的区别 进程是资源分配的最小单位,线程是CPU调度的最小单位 所有与进程相关的资源,都被记录在PCB(进程控制块)中 进程是抢占处理机的调度单位:线程属于某个进程,共享 ...
- 安卓开发笔记(二十五):ViewPager的使用
首先我们来看看运行之后的效果: 然后我们也不多说废话了,下面是这个项目所需要的全部代码,很多博主写这个都不把代码写完,因此笔者自己也琢磨了一会儿才把这个弄出来,感觉很烦,但我肯定会把代码写全的.我这里 ...
- 关于ORACLE的各种操作~持续汇总~
增.删.改: 增加所有 INSERT INTO 表名 VALUES(序列名.NEXTVAL,'值1','值2','值3','值4','值5'); 指定增加 INSERT INTO 表名(字段1,字段2 ...
- CYQ.Data 支持分布式数据库(主从备)高可用及负载调试
前言: 继上一篇,介绍 CYQ.Data 在分布式缓存上支持高可用,详见:CYQ.Data 对于分布式缓存Redis.MemCache高可用的改进及性能测试 本篇介绍 CYQ.Data 在对数据库层面 ...
- 【死磕 Spring】----- IOC 之深入理解 Spring IoC
在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识,本篇为[死磕 Spring]系列博客的第一篇博文,主要 ...