day3笔记
一、内容回顾
1.break:停止当前循环,后面的程序不会运行,跳出循环。
跳出while循环:1,改变条件。2.break
continue:结束本次循环,继续下一次循环。
2.格式化输出:%%可以在格式化中打印%
二、作业讲解
#-*- encoding:utf-8 -*-
__author__ = 'Administrator'
#5,写代码计算1-2+3....+99除了88以外所有数的和。 # count = 1
# sum = 0
# while count < 100:
# if count % 2 == 1:
# sum = sum + count
# elif count == 88:
# count += 1
# continue
# else:
# sum = sum - count
# count += 1
# print(sum)
'''
6,用户登录(三次机会)并且每次输错时显示剩余登录机会(用到字符串格式化。)
第六题完成的同学可做升级版:
当剩余机会为0时,可以询问用户是否在试试,如果用户同意在尝试,那就将在给他三次机会,可一直继续。
'''
username = "taibai"
password = ''
i = 0
while i < 3:
name = input('请输入你的用户名:')
pwd = input('请输入你的密码:')
if username == name and password == pwd:
print('您登录成功')
break
else:
print('登录失败,您还有%d次登录机会'%(2-i))
if (2-i) == 0 :
result = input('是否还想在试试?Yes')
if result == 'Yes':
i = 0
continue
i += 1
else:print('要不要脸你')
day2作业
三、初始编码
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

为了容纳更多国家的语言文字,诞生了unicode ,它用两个字节表示,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符。
升级版 utf-8 一个中文 3个字节去表示。
gbk国内使用,一个中文用2个字节。gbk也在不同的发展扩展中
总结:
ASCII:一个Bytes代表一个字符(英文字符/键盘上的所有其他字符),1Bytes=8bit,8bit可以表示0-2**8-1种变化,即可以表示256个字符 ASCII最初只用了后七位,127个数字,已经完全能够代表键盘上所有的字符了(英文字符/键盘的所有其他字符),后来为了将拉丁文也编码进了ASCII表,将最高位也占用了 #阶段二:为了满足中文和英文,中国人定制了GBK
GBK:2Bytes代表一个中文字符,1Bytes表示一个英文字符
为了满足其他国家,各个国家纷纷定制了自己的编码
日本把日文编到Shift_JIS里,韩国把韩文编到Euc-kr里 #阶段三:各国有各国的标准,就会不可避免地出现冲突,结果就是,在多语言混合的文本中,显示出来会有乱码。如何解决这个问题呢??? #!!!!!!!!!!!!非常重要!!!!!!!!!!!!
说白了乱码问题的本质就是不统一,如果我们能统一全世界,规定全世界只能使用一种文字符号,然后统一使用一种编码,那么乱码问题将不复存在,
ps:就像当年秦始皇统一中国一样,书同文车同轨,所有的麻烦事全部解决
很明显,上述的假设是不可能成立的。很多地方或老的系统、应用软件仍会采用各种各样的编码,这是历史遗留问题。于是我们必须找出一种解决方案或者说编码方案,需要同时满足:
#1、能够兼容万国字符
#2、与全世界所有的字符编码都有映射关系,这样就可以转换成任意国家的字符编码 这就是unicode(定长), 统一用2Bytes代表一个字符, 虽然2**16-1=65535,但unicode却可以存放100w+个字符,因为unicode存放了与其他编码的映射关系,准确地说unicode并不是一种严格意义上的字符编码表,下载pdf来查看unicode的详情:
链接:https://pan.baidu.com/s/1dEV3RYp 很明显对于通篇都是英文的文本来说,unicode的式无疑是多了一倍的存储空间(二进制最终都是以电或者磁的方式存储到存储介质中的) 于是产生了UTF-8(可变长,全称Unicode Transformation Format),对英文字符只用1Bytes表示,对中文字符用3Bytes,对其他生僻字用更多的Bytes去存 #总结:内存中统一采用unicode,浪费空间来换取可以转换成任意编码(不乱码),硬盘可以采用各种编码,如utf-8,保证存放于硬盘或者基于网络传输的数据量很小,提高传输效率与稳定性。
字符编码
四 、运算符
and 且,前后为真才为真。or 或,有一为真,就为真。not 非。取反。
print(3 > 4 and 2 <3) F
print(3 > 4 or 2 < 3) T
print(3 > 2 and 2 <4) T
print(3 > 4 or 2 > 3) F
print(not True) F
print(not False) T
print(not 3 > 4) T
优先级:()>not>and>or
同等优先级条件下,从左至右依次计算。
print(4 > 3 or 4 < 3 and 1!=1)
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1)
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8)
ps:F or F or 9<8 F
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
PS :F or F or 7<6 F
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6)
PS:F or F or 7<6 F
ps :
int与bool值之间的转换。
1,bool ----> int
a = int(True)
b = int(False)
print(a,b)
int ---> bool
a = bool(413456)
b = bool(6.5)
c = bool(0)
d = bool(-1)
print(a,b,c,d)
x or y 如果 x 为真,则值为x,否则为y
'''
print(4 or 3)
print(2 or 3)
print(1 or 3)
print(0 or 3)
print(-1 or 3)
'''
x and y 如果 x 为真,则值为y,否则为x
'''
print(4 and 3)
print(2 and 3)
print(1 and 3)
print(0 and 3)
print(-1 and 3)
'''
print(0 and 3 or 4 or 1 or 2)
print(3 or 2>1) 3
print( 2>3 or 3)
print( 2>2 or 0)
print( 2>3 or 3)
in 某个字符串或者其他数据类型中是否含有某个字符串
in not in
s1 = 'abcd'
print('a' in s1)
print('ag' in s1)
print(1 and 'a' in s1)
day3笔记的更多相关文章
- Python s12 Day3 笔记及作业
1. Set集合 old_dict = { "#1":{ 'hostname':'c1', 'cpu_count':2, 'mem_capicity':16}, "#2& ...
- Day6-python基础之模块
模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...
- python笔记 - day3
python笔记 - day3 参考:http://www.cnblogs.com/wupeiqi/articles/5453708.html set特性: 1.无序 2.不重复 3.可嵌套 函数: ...
- python网络爬虫与信息提取 学习笔记day3
Day3: 只需两行代码解析html或xml信息 具体代码实现:day3_1 注意BeautifulSoup的B和S需要大写,因为python大小写敏感 import requests r ...
- [Ting's笔记Day3]解决Git常见错误non-fast-forward问题
写文章最难的部分,是找题材! 所以最近每次遇到bug或错误都挺兴奋开心(zflwx)的,因为又可以写笔记了 也可以记录新手学习之路上遇到的常见问题,提供其他新手参考. 最近学Udemy平台Ruby学习 ...
- 【FCS NOI2018】福建省冬摸鱼笔记 day3
第三天. 计算几何,讲师:叶芃(péng). dalao们日常不记笔记.@ghostfly233说他都知道了,就盼着自适应辛普森积分. 我计算几何基础不好……然而还是没怎么讲实现,感觉没听什么东西进去 ...
- Android 笔记 day3
短信发送器 电脑弱爆了,开第二个emulater要10min!!! 顺便学会查看API文档 package com.example.a11; import java.util.*; import an ...
- 算法入门笔记------------Day3
主要是复习前面的基本内容,以及函数的概念 组合数 #include<stdio.h> int f(int n) { int m=1; for(int i=1;i<=n;i++) m* ...
- Python学习笔记——Day3
Python字典(Dictionary) 字典是一种可变容器模型,可存储任意类型对象. 字典的每个键值(key => value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花 ...
随机推荐
- 【AS3 Coder】任务八:没剧情还玩毛RPG
使用框架:AS3任务描述:了解RPG游戏中剧情播放器的制作原理及流程难度系数:3(了解原理,能根据XML文件播放剧情) / 5(会制作剧情编辑器) 本章源码下载:http://www.iamseven ...
- Shell实现循环执行curl向Solr导入json文件
#!/bin/bash for file in ./文件夹名/* do echo $file curl "http://IP:8983/solr/集合名/update?commit=true ...
- CentOS 7 yum安装失败问题
在CentOS 7中,执行yum安装,一直报错,错误信息如下 其实在上述的错误信息中,上述中的repodata/repomd.xml文件据说是/mnt目录rpm包的目录,路径 在/mnt中因为没有/r ...
- MoveSessionRestore.bat for firefox
move "c:\Documents and Settings\leon\Application Data\Mozilla\Firefox\Profiles\eyr6cp34.default ...
- Intellij IDEA 2017 破解
http://idea.lanyus.com/ https://www.cnblogs.com/wang1024/p/7485758.html
- 怎样用Google APIs和Google的应用系统进行集成(4)----获得Access Token以通过一些Google APIs的OAuth2认证
在上篇文章中: "怎样用Google APIs和Google的应用系统进行集成(3)----调用发现Google APIs的RESTful的服务"一文中,我们直接用jdk的java ...
- 再次学习mysql优化
再次学习mysql优化 表的设计规范化(三范式) 添加索引(普通索引.主键索引.唯一索引.全文索引) 分表(水平分割.垂直分割) 读写分离(写add.update.delete) 存储过程 对mysq ...
- MySQL触发器 trigger之after与before区分
after:是先完毕数据的增删改,然后再触发.触发的语句晚于监视的增删改,无法影响前面的增删修改作.也就是说先插入订单记录.再更新商品数量.当商品数量少于订单数量时造成爆库. before:先完毕触发 ...
- Refactoring之——代码的坏味道(四)过长参数列
1.1.4 Long Parameter List(过长参数列) 特征:一个方法有超过三四个的参数. 问题原因: 过长参数列可能是将多个算法并到一个函数中时发生的.函数中的入参可以用来控制最终选用哪个 ...
- php 按汉字首字母查询[转载]
<?php function getfirstchar($s0){ //获取单个汉字拼音首字母.注意:此处不要纠结.汉字拼音是没有以U和V开头的 $fchar = ord($s0{0}); if ...