1.添加环境变量

windows要加环境变量。
linux若升级版本不一致,
#!/usr/bin/env python 调用环境变量中的python
#!/usr/bin/python 调用系统中默认的python

2.字符编码

二进制到数字的转换:x位0与1 可以表示的最大数字为2**x -1
      1)ASSCII(美国标准信息交换代码):将数字与字符相联系,从而二进制表示出数字转化为字符。其最多只能用8byte位来表示一个字节。即2**8-1=255,故其最多只能表示255个字符。
其中0-127先使用了,后边预留了128-255;

2)GB2312,1980年中国取了一个数字范围作为中文的索引,引入GB2312,共7000多个汉字加字符;

3)GBK1.0,1995年扩展到GBK1.0。

4)GBK18030,2000年GBK18030收录了27484个汉字,现在的pc平台必须支持GBK18030,对嵌入式产品暂不做要求,故手机、MP3一般只支持GB2312。

ASSCII ---> GB2312 ---> GBK ---> GBK18030都是向下兼容的。
之后由于多个国家都进行重编,字符混乱。

5)Unicode(统一码),为每种语言每个字符设置了统一并唯一的二进制编码 。每个字符占两个字节,即16byte位。缺点:所占用的空间大。

utf-8在Unicode基础上做了改进,存英文字符占用1个字节,存其他语言占用两个字节。即 00000000 10001110 有一个字节的8位都是0,就省略。

python3字符编码默认utf-8
       python2字符默认ASCII,固要想在py2中使用中文需要先声明字符集为utf-8,即 # -*- coding:utf-8 -*-
eg: 2,3不同点

name = "你好,世界!"

print (name)

===============================================================================

3.python变量

变量定义规则:
      1)变量名只能为字母、数字或下划线的任意组合
      2)变量名的第一个字符不能是数字
      3)有部分系统已经使用的关键字不能声明为变量名:"and" "as" "break" "def" "with" etc.
      4)变量名尽量达意,以_或大写字母表达(GF_of_sb 或 GFOfSb),常量(pai 3.1415926就是一个常量)通常以大写字母来命名。

4.python中注释与打印多行:

1)单行注释 #
      2)多行注释''' 多行 ''' 三个单/双引号
      3)打印多行 ''' 多行 ''' 三个单/双引号
python中单/双引号用法完全一致,唯一要注意单双引号互套的情况 "i'm a girl"
eg:
name = " 你好,世界!"
'''
print (name)
print (name)
print (name)
'''
msg = '''
print (name)
print (name)
'''
#print (name)
print (msg)
print (name)

执行结果:

print (name)
print (name)

你好,世界!

5.input、引入变量与密文输入

1)脚本等待用户输入执行,如同shell的read -p:
username = input('usrname:')
print (username)

2)格式化输出,引入变量:字符串拼接 4种方法'''str''' 与%s

注:%s 代表此处接受字符串
%d 代表此处接受整数
%f 代表此处接受浮点数
要注意对应的变量的type,在接受变量时可强制转化

eg:当引入变量 %d 将字符串转化为数字 age =int(input("age:"))
py2 的raw_input = py3 的input
eg:
name = input("name:")
age = input("age:")
job = input("job:")
salary = input("salary:")

#法一:
info = '''
----------------- info of ''' +name+ '''--------------------
Name:''' +name+ '''
Age:''' +age+ '''
Job:''' +job+ '''
Salary:''' + salary+ '''
'''
print (info)

#法二:
info = '''
----------------- info of %s -----------------
Name:%s
Age:%s
Job:%s
Salary:%s
''' % (name,name,age,salary)

#法三:
info = '''
----------------- info of {_name}} -----------------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
''' .format(_name=name,
_age=age,
_job=job,
_salary=salary)

#法四:
info = '''
----------------- info of {0}} -----------------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
''' .format(name,age,job,salary)

print (info)

执行结果:
----------------- info of yh--------------------
Name:yh
Age:22
Job:it
Salary:00

5)密文输入(在pycharm中不好使)
import getpass
username = input("username:")
password = getpass.getpass("password:")
print(username,password)

if:
--------------------------
_username = 'yh'
_password = 'yanghuan'

username = input("username:")
password = input("password:")
print(username,password)

if _username == username and _password == password:
print("welcome user {name} login...".format(name = username))
else:
print("invalid username or password!")

执行结果:
username:yh
password:yanghuan
yh yanghuan
welcome user yh login...
========================================================================
4. 猜年龄脚本:if while for -else break continue

(if-elif-else while错了猜三次)
age_of_oldboy = 56
count = 0
while True:
if count == 3:
break
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:

print("yes,u got it!")
break
elif guess_age > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
count +=1
if count == 3:
print("you have tried too many times..")

优化:

while True:
if count == 3:
break
改为:
while count<3:
------------------
if count == 3:
print("you have tried too many times..")
改为:
else:
print("you have tried too many times..")
---------------------------------------------
注:while-else 中的else代表while不成立走else
猜三次不对自动退出:
age_of_oldboy = 56
count = 0
while count<3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("yes,u got it!")
break
elif guess_age > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
count +=1
else:
print("you have tried too many times..")

-------------------------------------------------------
猜三次input n 退出,任意键继续:
age_of_oldboy = 56
count = 0
while count<3:
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("yes,u got it!")
break
elif guess_age > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
count +=1
if count == 3:
continue_guess = input("do u want to keep guess?")
if continue_guess != "n":
count = 0

-----------------------------------------------------------------------------------

for循环:
for-else:
当for正常执行完毕,执行else;
当for break非正常退出,不执行else。
for-break:
break:跳出break所在的整个for循环,包括else。
for-contine:
contine:跳出此次循环,进行下次循环,包括else。

age_of_oldboy = 56
for i in range(3):
guess_age = int(input("guess age:"))
if guess_age == age_of_oldboy:
print("yes,u got it!")
break
elif guess_age > age_of_oldboy:
print("think smaller")
else:
print("think bigger")
else:
print("you have tried too many times..")
------------------------------------------
for i in range(1,5):
if i <3:
print("loop",i)
else:
continue
print("hehe...",i)
执行结果:
loop 1
hehe... 1
loop 2
hehe... 2
------------------------------------------
for i in range(0,10,2):#从0开始,隔一个数打印一次
print("loop",i)

=====================================================================

homework:

作业:
1.编写登陆接口
输入用户名密码
认证成功后显示欢迎信息
输错三次后锁定

2.多级菜单
三级菜单,b返回上一级,q可以在任意一级退出程序
可依次选择进入各子菜单
所需知识点:列表 、字典

交作业格式:
Readme
blog addr
program summary
流程图
代码

python 笔记 week1-- if while for的更多相关文章

  1. Python笔记之不可不练

    如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知 ...

  2. boost.python笔记

    boost.python笔记 标签: boost.python,python, C++ 简介 Boost.python是什么? 它是boost库的一部分,随boost一起安装,用来实现C++和Pyth ...

  3. 20.Python笔记之SqlAlchemy使用

    Date:2016-03-27 Title:20.Python笔记之SqlAlchemy使用 Tags:python Category:Python 作者:刘耀 博客:www.liuyao.me 一. ...

  4. Python笔记——类定义

    Python笔记——类定义 一.类定义: class <类名>: <语句> 类实例化后,可以使用其属性,实际上,创建一个类之后,可以通过类名访问其属性 如果直接使用类名修改其属 ...

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 8.python笔记之面向对象基础

    title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...

  7. python笔记 - day8

    python笔记 - day8 参考: http://www.cnblogs.com/wupeiqi/p/4766801.html http://www.cnblogs.com/wupeiqi/art ...

  8. python笔记 - day7-1 之面向对象编程

    python笔记 - day7-1 之面向对象编程 什么时候用面向对象: 多个函数的参数相同: 当某一些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性的封装到对象,以后去对象中取值即可: ...

  9. python笔记 - day7

    python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblog ...

  10. python笔记 - day6

    python笔记 - day6 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 大纲: 利用递归,实现阶乘: Python反射 pyt ...

随机推荐

  1. CSS学习之路,指定值,计算值,使用值。

    前面被问过这几个值得区别,没太研究,有点抠文字的感觉,既然到这儿了 ,就简答梳理下吧. 指定值(specified value):通过样式表样式规则定义的值:可以来自层叠样式表,如果没有指定,则考虑父 ...

  2. JAVA自学笔记11

    JAVA自学笔记11 1:Eclipse的安装 2:用Eclipse写一个HelloWorld案例,最终在控制台输出你的名字 A:创建项目 B:在src目录下创建包.cn.itcast C:在cn.i ...

  3. #define LT(a,b) ((a)<(b))

    就是带参数的宏定义 LT是函数名 (a,b )是参数表((a)<(b))是表达式返回一个布尔类型的值

  4. Cenos7 部署asp.net core站点

    系统版本 rpm -q centos-release --- centos-release--5.1804.el7.centos.x86_64 安装libicu yum install libunwi ...

  5. 介绍三款串口监控工具:Device Monitoring Studio,portmon,Comspy

    在开发上位机下位机通讯程序时,有一个好的监控工具会事半功倍.特在网上找了几款串口监控软件,作了简单对比: 一.Device Monitoring Studio 网址:http://www.hhdsof ...

  6. /debug/requests is already registered. You may have two independent copies of golang.org/x/net/trace in your binary, trying to maintain separate state. This may involve a vendored copy of golang.org/x

    找到问题就很好解决了,直接百度  go依赖管理-govendor go get -u github.com/kardianos/govendor 先获取这个,然后将govendor.exe放入path ...

  7. ReactNative如何在JS中引用原生自定义控件(rn变化太快,网上很多教程有坑,这个我研究后可用,特意分享)

    直接写一个Demo例子,有相关功底的肯定明白,会对特别的地方进行提醒,本文基于https://blog.csdn.net/lintcgirl/article/details/53489490,但是按此 ...

  8. .net core安装及初体验

    .net core安装及初体验 .net core 作为微软的新一代技术,在开发跨平台.微服务等方面有很大的优势,也更贴近现代的编码习惯.在2.0版发布很久以后,近期终于决定进行学习和体验. 安装 作 ...

  9. Lua require 相对路径

    lua require 加载方式与我们现在熟知的路径系统不太一样,想要知道lua require 方法的工作原理也很简单 随便写一个错误的require 代码即可: 1 require("l ...

  10. Go 语言极速入门

    本系列文章主要是记录<Go 语言实战>和<Google 资深工程师深度讲解 Go 语言>的学习笔记. Go 语言极速入门1 - 环境搭建与最简姿势Go 语言极速入门2 - 基础 ...