Python基础__Python语法基础、条件、循环
之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环。本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的
Python语法规则
1.语句是逐个运行的。Python一般都会按照次序头到尾执行文件中嵌套的语句,这也符合正常人的思考问题的方式。但是像条件、循环等语句会使得解释器在程序内跳跃。因为Python经过一个程序的路径叫做控制流程,像条件、循环等会对控制流程产生影响的语句通常叫做控制及流程语句
2.块和语句的边界会自动检测。就像我们所见,Python的程序块中没有大括号或‘’‘being,end’‘等分隔符,Python使用首行缩进把嵌套模块内的语句组合起来。同样的,Python语句一般是不以分号种植的,一行的末尾通常就是该行的所写语句的结尾。
3.复合语句=首行+“:”+缩进语句。 Python中所有复合语句都遵循相同的格式:首行会以冒号终止,在接一个或多个语句,而且通常都是首行下缩进的。缩进语句叫做块。
4.空白行、空格以及注释都会忽略
5.文档字符串(docstring)会忽略,但会保存并有工具显示
一. 条件
条件相当于一个筛选装置,即当满足条件会如何,不满足条件又会如何,这里就会出现一个或多个分支语句。
用法:
a=1;b=2
if a>b: # 冒号表示定义了一个模块
print('a大') # 条件后面必须有语句
elif a==b:
print('a、b相等')
elif a<b:
print('b大')
else: # else后面不能有条件,else不是必须的
pass # pass占位符
a=input('请输如0--100分的数:') #提示输入
if a.isdigit():
b=int(a) #a是字符串
if b>100:
print('输入错误')
elif b>=90:
print('优秀')
elif b>=80:
print('良好')
elif b>=60:
print('及格')
else:
print('差')
else:
print('请输入0--100的整数')
二.循环
在生活中我们会遇到对次用反复同一规则完成一件事,就像太阳每天从东方升起,这就是一个循环的过程。同样为解决某些问题,我们也会建立循环语句。下面我们将介绍while和for循环
while循环
1.格式:
while <test>:
<statements1>
esle:
<statements2>
while True: #满足判断循环
print('Hello')
#将10以内的偶数输出
a=0
while a<=10:
if a%2==0:
print(a)
a+=1
#注意a+=1是与if同一个级别的语句,若与print(a)对其则会出现错误
2. break 跳出整个循环语句
cuntinue 跳到最近所在循环的开头处(来到循环的首行)
pass 什么也不做,起到占位作用
循环else块 只有正常离开的时候才会执行(也就是没有碰到break语句)
a=10
while a>3:
a-=1
if a==5:
break #终止while循环
print(a) #continue
a=10
while a>3:
a-=1
if a==5:
continue #跳过了剩余的循环体,但不结束循环
print(a)
else
a=5 while a<8:
print('ok')
a+=1
## if a>6:
## break
else:
print('not ok')
else: 当循环正常结束的时候,运行else,当非正常结束的时候指的是强行推出循环的时候(break countine等)不运行else语句
for循环
for循环在Python中是一个通用的迭代器:可以遍历任何有序的序列对象内的元素
一般格式:
for <target> in <object>:
<statements1>
esle:
<statements2>
for i in range(10):
#将10以内的奇数输出
#方法一:
for i in range(11):
if i%2==1:
print(i)
#方法二:
for i in range(11):
if i%2==0:
continue
print(i)
总结:
相同点:都能循环的做一件重复的事情
不同点:while循环在条件不成立的时候停止
for循环在迭代对象穷尽的时候停止
四.嵌套循环
for a in range(4):
for b in range(4):
print('%d 行%d列 '%(a,b),end='')
print('行: ',a)
条件
a=1;b=2
a=1;b=2
if a>b: # 冒号表示定义了一个模块
print('a大') # 条件后面必须有语句
elif a==b:
print('a、b相等')
elif a<b:
print('b大')
else: # else后面不能有条件,else不是必须的
pass # pass占位符
# 集体缩进 ctrl+Tab(或ctrl+{})
#猜数字游戏:
import random
b=random.randint(1,20) #两边都都取得到
while True:
a=input('请输入1到20的整数:')
a=int(a)
if a==b:
print('恭喜你,猜对了')
break
elif a>b:
print('大了')
else:
print('小了')
Python基础__Python语法基础、条件、循环的更多相关文章
- Python基础:语法基础(3)
本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...
- JavaScript基础——JavaScript语法基础(笔记)
JavaScript语法基础(笔记) 1.语言编码 JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量.变量或函数等. [示例] var 我=&q ...
- python开发基础之语法基础
一.知识点 (一)python介绍 1.Python被设计成一种高可读性的语言,它大量地使用了英语单词作为关键字,不像其他语言使用标点符号构成复杂的语法结构. 2.Pyton是支持面向对象的,支持在对 ...
- 从Python安装到语法基础,这才是初学者都能懂的爬虫教程
Python和PyCharm的安装:学会Python和PyCharm的安装方法 变量和字符串:学会使用变量和字符串的基本用法 函数与控制语句:学会Python循环.判断语句.循环语句和函数的使用 Py ...
- python数据分析02语法基础
在我来看,没有必要为了数据分析而去精通Python.我鼓励你使用IPython shell和Jupyter试验示例代码,并学习不同类型.函数和方法的文档.虽然我已尽力让本书内容循序渐进,但读者偶尔仍会 ...
- Py基础—变量名,条件循环,空执行,编码,运算符,字符比较,简化写法
变量名 只能是字母,数字,下划线.数字不能开头,不要和python内置的东西重复.赋予变量名内容:name1 = "shit" 输出变量名内容 print(name1) 条件语句 ...
- Python自动化之语法基础
1 第一个程序 hello world 在Linux环境下执行 vim hello.py #!/usr/bin/env python #指定解释器 print("hello world&qu ...
- python语言相关语法基础
numpy系列import numpya = numpy.array([[1,2], [3,4]])b = numpy.array([[5,6], [7,8]])a*b>>>arra ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
随机推荐
- 【非原创】C++类成员函数的重载、覆盖和隐藏
链接:https://www.nowcoder.com/questionTerminal/266d3a6d4f1b436aabf1eff3156fed95来源:牛客网 题目:类成员函数的重载.覆盖和隐 ...
- Ubuntu的Java环境变量
新架构要上线了,这两天开始准备分析一下了,今天是直接进到JAVA_HOME的lib目录执行的java -cp sa-jdi.jar sun.jvm.hotspot.HSDB,然后报了个错: 这是哪来的 ...
- Image Style Transfer:多风格 TensorFlow 实现
·其实这是一个选修课的present,整理一下作为一篇博客,希望对你有用.讲解风格迁移的博客蛮多的,我就不过多的赘述了.讲一点几个关键的地方吧,当然最后的代码和ppt也希望对你有用. 1.引入: 风格 ...
- 网络配置:linux学习第一篇
1. 先使用dhclient获取ip 再使用命令ip addr查看获取到的ip 2. 设置静态IP 编辑网卡配置文件,路径: 3. 重启网络服务 命令:systemctl ...
- yii2 源码分析 model类分析 (五)
模型类是数据模型的基类.此类继承了组件类,实现了3个接口 先介绍一下模型类前面的大量注释说了什么: * 模型类是数据模型的基类.此类继承了组件类,实现了3个接口 * 实现了IteratorAggreg ...
- python爬虫登录
python3 urllib.request 网络请求操作 http://www.cnblogs.com/cocoajin/p/3679821.html python实现 爬取twitter用户姓名 ...
- 940A Points on the line
传送门 题目大意 给你n和d还有n个数,计算最少删除几个点可以是最大点与最小点之差小于等于d 分析 先对所有点排序,枚举每一个点ai到ai+d中有几个点,答案即n-其中最大的值 代码 #include ...
- php 高并发下 秒杀处理思路
1.用额外的单进程处理一个队列,下单请求放到队列里,一个个处理,就不会有并发的问题了,但是要额外的后台进程以及延迟问题,不予考虑. 2.数据库乐观锁,大致的意思是先查询库存,然后立马将库存+1,然后订 ...
- 端到端测试工具--testcafe
写在前面 随着业务的增加,复杂性的增加,我们更需要保证页面不能出错,之前需要每次上线之前需要每次人工测试,如果有好多改动,为保证业务不出错,需要耗费更多的时间来测试,所以我们需要写一些测试来保证业务的 ...
- Asp.Net Core 2.1+的视图缓存(响应缓存)
响应缓存Razor 页与 ASP.NET 核心 2.0 中不支持. 此功能将支持ASP.NET 核心 2.1 版本. 在老的版本的MVC里面,有一种可以缓存视图的特性(OutputCache),可以保 ...