流程控制if...else....

name = '疯子'
res = input('你叫什么名字?')
if res == name:
print('帅哥')
else:
print('丑男')

如果:女人的年龄>=18并且<22岁并且身高>170并且体重<100并且是漂亮的,那么:表白,否则:叫阿姨

age_of_girl=18
height=171
weight=99
is_beautiful=True
if age_of_girl >= 18 and age_of_girl < 22 and height > 170 and
weight < 100 and is_beautiful == True:
print('表白...')
else:
print('阿姨好')

逻辑运算符

小练习:

1.定义布尔型变量 has_ticket 表示是否有车票 #2.定义整形变量 knife_length 表示刀的长度,单位:厘米 #3.首先检查是否有车票,如果有,才允许进行安检 #4.安检时,需要检查棍子的长度,判断是否超过20厘米 # 如果超过20厘米,提示棍子的长度,不允许上车 # 如果不超过20厘米,按键通过 #5.如果没有车票,不允许进门

has_ticket = True
stick_length = 22 if has_ticket:
if stick_length > 20:
print('你的棍子太长了',stick_length)
else:
print('请进....')
else:
print('您没有车票,不允许进入车站')

return 语句

return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,下例便告诉你怎么做:

# 可写函数说明
def add_sum(arg1, arg2): # 返回2个参数的和."
total = arg1 + arg2
print("函数内 : ", total)
return total # 调用sum函数
total = add_sum(10, 20)

流程控制之while

while 条件: # 循环体

如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。

如果条件为假,那么循环体不执行,循环终止

1、循环取出列表里面的每一个元素

 l1 = ['a','b','c','d','e','f']
count = 0
while count < len(l1):
print(l1[count])
count += 1
0-10之间的偶数
count = 0
while count <= 10:
print(count)
count += 2

2、死循环

 while True:
print(1)

3、while....else.....

 count = 0
while count <= 5 :
count += 1
print("Loop",count)
else:
print("循环正常执行完啦")

4、continue:跳过本次循环

break:跳出循环

pass:占位符

 count = 0
while count <= 5:
count += 1
if count == 2:
continue
print(count)
 count = 0
while count <= 5:
count += 1
if count == 2:
break
print(count)
 count = 0
while count <= 5:
count += 1
if count == 2:
pass
print(count)

猜拳小练习

import random
print('-----欢迎来猜拳-----')
print('1:石头 2:剪刀 3:布 4:退出')
info = {
'win' :0,
'lose' :0,
'draw' :0
}
while True:
hum = input('请出拳:').strip()
com = ['石头', '剪刀', '布']
com1 = random.choice(com)
if hum == '1' and com1== '石头' or hum == '2' and com1 == '剪刀' or hum == '3' and com1 == '布':
print('决战到天亮!')
info['draw'] += 1
elif hum == '2' and com1== '石头' or hum == '3' and com1 == '剪刀' or hum == '1' and com1 == '布':
print('小垃圾!看看我是啥--%s'% com1)
info['lose'] += 1
elif hum == '4':
break
elif hum == '3' and com1== '石头' or hum == '1' and com1 == '剪刀' or hum == '2' and com1 == '布':
print('你牛逼!')
info['win'] += 1
else:
print('你倒是出拳啊!渣渣!!')
print(info)

流程控制之for循环

1 迭代式循环:for,语法如下

  for i in range(10):

    缩进的代码块

2 break与continue(同while)

 for i in range(0,11,3):#range顾头不顾尾
print(i) 可迭代对象
l1 = [1,2,3]
t1 = (1,2,3)
info = {'name':'蒋介石','age':88}
str1 = 'hello,world'
s1 = {1,2,3} for i in info.items():
print(i)

操作文件

在python3中如何打开一个文件呢?

f = open('lock.txt', 'r',encoding='utf-8')
应用程序向操作系统发起打开文件的操作
print(f.read())
操作系统打开文件得到文件句柄返回给应用程序并赋值给f
f.close()
应用程序向操作系统发起关闭文件的信号,并且回收变量f

注意:操作完文件后一定要记得关闭,因为如果开的文件多了,不关闭,会浪费系统资源,使系统变慢 #但是还是有很多同学忘记关闭文件,因此,可以用下面这个方式

with open('lock.txt', 'r', encoding='utf-8') as f:
print(f.read())

这里要注意字符编码,秉承一个原则就不会出现乱码(用什么方式写的,就用什么方式打开)

r ,#只读模式【默认模式,文件必须存在,不存在则抛出异常】

w,#只写模式【不可读;不存在则创建;存在则清空内容】

a, #之追加写模式【不可读;不存在则创建;存在则只追加内容】 #以下三种跟上面三种一样,只不过是以二进制方式

rb

wb

ab

文本打开的常用模式和操作文件的方法

f.read() #读取所有内容,光标移动到文件末尾
f.readline() #读取一行内容,光标移动到第二行首部
f.readlines() #读取每一行内容,存放于列表中
f.write('1111\n222\n') #针对文本模式的写,需要自己写换行符
f.write('1111\n222\n'.encode('utf-8')) #针对b模式的写,需要自己写换行符
f.writelines(['333\n','444\n']) #文件模式 #了解
f.readable() #文件是否可读
f.writable() #文件是否可读
f.closed #关闭文件
f.flush() #立刻将文件内容从内存刷到硬盘
f.name #查看打开的文件名

移动光标

文件的光标移动

 with open(r'C:\Users\Administrator.USER-20190512NQ\Desktop\a.txt', 'rb') as f:
data1 = f.read(2)
data2 = f.read()
data3 = f.read()
print(data3)
rt模式打开只可以(0,0),(0,1),(0,2)
f.seek(0,0)#后面的0代表把光标移动到开头,前面的数字代表光标的移动
f.seek(0,1)#后面的1代表相对位置,前面的数字代表光标的移动
f.seek(0,2)#后面的2代表把光标移动到末尾,前面的数字代表光标的移动
data1 = f.read(2)
f.seek(2,0)
f.seek(2,1)
f.seek(-6,2)
data2 = f.read()
print(data2.decode('utf-8')) with open(r'C:\Users\Administrator.USER-20190512NQ\Desktop\a.txt', 'r',encoding='utf-8') as f1:
data = f1.read()
new = data.replace('abc','sb250')
with open(r'C:\Users\Administrator.USER-20190512NQ\Desktop\a.txt', 'w', encoding='utf-8') as f2:
f2.write(new) tail -f message | grep '404'
import time
with open(r'C:\Users\Administrator.USER-20190512NQ\Desktop\a.txt', 'rb') as f:
f.seek(0, 2)
while True:
data = f.read()
if b'404' in data:
print(data.decode('utf-8'))
else:
time.sleep(0.2)

python常用语句的更多相关文章

  1. Python—常用语句 if for while

    Python-常用语句 判断语句 循环语句 break语句和continue语句 判断语句: if语句是最简单的添加判断语句,它可以控制程序的执行流程. if结构: if条件: 要执行的操作 ... ...

  2. Python 常用语句

    条件语句 a=input("请输入数字a的值:\n") a=int(a) #从控制台接收到的都是字符串类型,需要转换 if a==0: #也可以写成if(a==0): print( ...

  3. sys模块和Python常用的内建函数

    1.sys模块 当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块.如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被使用 ...

  4. python——常用模块2

    python--常用模块2 1 logging模块 1.1 函数式简单配置 import logging logging.debug("debug message") loggin ...

  5. 转:python常用运维脚本实例

    python常用运维脚本实例 转载  file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函 ...

  6. python常用运维脚本实例【转】

    file是一个类,使用file('file_name', 'r+')这种方式打开文件,返回一个file对象,以写模式打开文件不存在则会被创建.但是更推荐使用内置函数open()来打开一个文件 . 首先 ...

  7. Python 常用 PEP8 编码规范

    Python 常用 PEP8 编码规范 代码布局 缩进 每级缩进用4个空格. 括号中使用垂直隐式缩进或使用悬挂缩进. EXAMPLE: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 ...

  8. python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则

    python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess ...

  9. Python常用功能函数

    Python常用功能函数汇总 1.按行写字符串到文件中 import sys, os, time, json def saveContext(filename,*name): format = '^' ...

随机推荐

  1. grunt-contrib-uglify js压缩

    grunt-contrib-uglify:压缩以及合并JavaScript文件. 插件安装:npm install grunt-contrib-uglify --save-dev 参数: banner ...

  2. qt5---步长调节器SpinBox和QDoubleSpinBox

    #include <QSpinBox>            #include <QDoubleSpinBox> QSpinBox 用于整数的显示和输入,一般显示十进制数,也可 ...

  3. SessionFactory的openSession与getCurrentSession区别

    SessionFactory 1 用来产生和管理sesssion 2 通常情况下,每个应用只需要一个SessionFactory,除非要访问多个数据库的情况 3 openSession()与openS ...

  4. 基于Python原生asyncio模块对DNS正向和反向的解析

    一.正向解析:域名解析IP地址 import asyncio import socket domains = [ ('www.baidu.com', 'https'), ('cn.bing.com', ...

  5. 一次linux站点安装经验

    之前了解了一点,刚过完年回来,顺便研究了一下小程序. http://s.w7.cc/index.php?c=wiki&do=view&id=1&list=84 先申请了一个li ...

  6. Java多线程和并发(十二),Java线程池

    目录 1.利用Executors创建线程的五种不同方式 2.为什么要使用线程池 3.Executor的框架 4.J.U.C的三个Executor接口 5.ThreadPoolExecutor 6.线程 ...

  7. asp.net 怎么上传文件夹啊,不传压缩包!

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...

  8. XFF和referer

    XFF构造来源IP Refer构造来源浏览器

  9. 完美解决前端跨域之 easyXDM 的使用和解析

    前端跨域问题在大型网站中是比较常见的问题.本文详细介绍了利用 easyXDM 解决前端跨域的原理细节和使用细节,具体使用时可以在文中代码实例的基础上扩展完成. 0.背景 因个别网络运营商存在 HTTP ...

  10. spring的AOP基本原理

    一.什么是AOP AOP(Aspect Oriented Programming),意思是面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP基于IoC基础,是对OOP ...