流程控制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-watch 实时监测文件状态

    grunt-contrib-watch:实时监测文件的增删改状态,状态改变时自动执行预定义任务使用watch时,被watch的文件可以分开写,这样可以提高watch的性能,不用每次把没修改的文件也执行 ...

  2. js 数组的forEach 函数

    var numbers = [4, 9, 16, 25]; function myFunction(item, index) { console.log("item:" + ite ...

  3. Sql Service中的分页

    创建存储过程如下: CREATE PROCEDURE [dbo].[sp_GetPageList] ), --表名 ) = '*', --字段名(全部字段为*) ), --排序字段(必须!支持多字段) ...

  4. 【PKUSC2019】线弦图【计数】【树形DP】【分治FFT】

    Description 定义线图为把无向图的边变成点,新图中点与点之间右边当且仅当它们对应的边在原图中有公共点,这样得到的图. 定义弦图为不存在一个长度大于3的纯环,纯环的定义是在环上任取两个不相邻的 ...

  5. js 获取系统时间:年月日 星期 时分秒(动态)

    最近再写一个纯html页面,有时间和天气的数据,天气后台给接口,时间要自己获取,我就自己弄了下, <div class="basic"></div> 这是放 ...

  6. python爬取智联招聘职位信息(多进程)

    测试了下,采用单进程爬取5000条数据大概需要22分钟,速度太慢了点.我们把脚本改进下,采用多进程. 首先获取所有要爬取的URL,在这里不建议使用集合,字典或列表的数据类型来保存这些URL,因为数据量 ...

  7. AtCoder AGC017C Snuke and Spells

    题目链接 https://atcoder.jp/contests/agc017/tasks/agc017_c 题解 很久前不会做看了题解,现在又看了一下,只想说,这种智商题真的杀我... 转化成如果现 ...

  8. VMware与Centos系统

    今日任务 1.Linux发行版的选择 2.vmware创建一个虚拟机(centos) 3.安装配置centos7 4.xshell配置连接虚拟机(centos) 选择性 pc可以选择 -纯系统 Lin ...

  9. Linux系统下MySql表名大小写敏感问题

    mysql是通过lower_case_table_names变量来处理大小写问题的. 首先查询该变量 mysql在Linux下数据库名.表名.列名.表别名大小写规则如下: 1.数据库名与表名严格区分大 ...

  10. dubbo源码阅读笔记-如何引用远程服务,变成invoker

    1 消费端如何通过注册中心获取远程服务的invoker? RegistryDirectory.subscribe从注册中心中获取provider的url,通过DubboProtocol的refer方法 ...