(本文仅作为学习记录使用)

文章大纲:

01. 昨日内容回顾

02.作业讲解

03.pycharm使用

04.格式化输出

05.while循环

06.运算符

 

01.昨日内容回顾

见链接:https://www.cnblogs.com/smithpath/articles/10454448.html

02.作业讲解

'''
Day01 作业(20190228)
一、简述变量命名规范
1.变量由数字、字母和下划线任意组合。
2.变量不能以Python的关键词命名。
3.变量不能以数字开头。
4.变量要有可描述性。
5.变量不能使用中文。
6.变量不宜过长。

二、字符串数据类型。
三、有5种。
1.
if 条件 :
语句块
2.
if 条件 :
语句块
else
语句块
3.
if 条件1 :
语句块1
esif 条件2 :
语句块2;
esif 条件3 :
语句块3
4.
if 条件1 :
语句块1
esif 条件2 :
语句块2;
esif 条件3 :
语句块3
else :
语句块4
5.
if 条件1 :
if 条件2 :
语句块1
else :
语句块2
else :
语句块3
四.(shazi)
python3:
print(‘文能提笔安天下,’)
print(‘武能上马定乾坤。’)
print(‘心存谋略何人胜,’)
print(‘古今英雄唯是君。’)
python2:
#-*- encoding:utf-8 -*-
print(‘文能提笔安天下,’)
print(‘武能上马定乾坤。’)
print(‘心存谋略何人胜,’)
print(‘古今英雄唯是君。’)
'''
print('''
文能提笔安天下,
武能上马定乾坤。
心存谋略何人胜,
古今英雄唯是君。
''')

5.
number = input ('请输入数字: ')
s = int (number)
if s > 66 :
print ("您猜测的结果大了")
elif s < 66 :
print ("您猜测的结果小了")
else :
print ("猜测结果正确")

PS:记得字符串类型和整数类型的转换;
input输入的都是字符串类型!

6.
age = input('请输入年龄:')
s = int (age)
if s < 10 :
print ('你就是个小屁孩')
elif s <20 :
print ('你是个青春期叛逆的小屁孩')
elif s <30 :
print ('开始定性了,你是个开始混社会的小屁孩')
elif s <40 :
print ('老大不小了,小屁孩要赶紧结婚')
elif s <50 :
print ('家里有个不听话的小屁孩')
elif s <60 :
print ('你马上变成不听话的老屁孩')
elif s <70 :
print ('活着还不错的老屁孩')
elif s <90 :
print ('人生就快结束的老屁孩')
else :
print ('拜拜了您呐')
PS:记得要顶格写!!!!!!!!!!!!

7.单行注释和多行注释
单行注释
'''

'''
或者
"""

"""
8.
Python的本质是要优美,简洁,流畅的
而Python2x的特性是:
源码重复,混乱,冗余,不规范.
Python3x的特性是:
源码整合,优美,清晰,简单.


9.
plant = input('请输入麻花藤:')
if plant == '麻花藤':
print('you are so smart')
else :
print('you are wrong')


10.
mouth = input('请输入月份: ')
print ('您输入的月份是'+mouth+'月')
if mouth == '1':
print('本月习俗:抓老鼠')
if mouth == '2':
print('本月习俗:杀牛')
if mouth == '3':
print('本月习俗:打老虎')
if mouth == '4':
print('本月习俗:捉兔子')
if mouth == '5':
print('本月习俗:舞龙')
if mouth == '6':
print('本月习俗:吃蛇羹')
if mouth == '7':
print('本月习俗:牧马')
if mouth == '8':
print('本月习俗:放羊')
if mouth == '9':
print('本月习俗:养猴子')
if mouth == '10':
print('本月习俗:喂鸡')
if mouth == '11':
print('本月习俗:训狗')
if mouth == '12':
print('本月习俗:骑猪')


11.
score = input('请输入您的分数: ')
s = int (score)
if s >= 90 :
print ('您的档次是:A')
elif s >= 80 :
print ('您的档次是:B')
elif s >= 70 :
print ('您的档次是:C')
elif s >= 60 :
print ('您的档次是:D')
else :
print ('恭喜您,不及格.')

'''

 

 03. pycharm使用

 
新建文件夹
 
 
 
新建Python文件

 

附:pycharm快捷键:https://blog.csdn.net/weixin_41059146/article/details/78826163

        https://blog.csdn.net/sinat_38682860/article/details/80313652(下面的更常用,上面的更全)

常用快捷键:

Ctrl + D              复制选定的区域或行

Ctrl + Y               删除选定的行

Ctrl + Alt + L         代码格式化

Ctrl + Alt + O        优化导入(去掉用不到的包导入)

Ctrl + 鼠标          简介/进入代码定义

Ctrl + /                行注释,取消注释

Ctrl + 左方括号    快速跳到代码开头

Ctrl + 右方括号    快速跳到代码末尾

Shift + F10          运行

Shift  + F9           调试

查找/替换类:

Ctrl + F               当前文件查找

Ctrl + R               当前文件替换

Ctrl + Shift +F     全局查找

Ctrl + Shift + R    全局替换

运行类:

Shift + F10       运行

Shift + F9         调试

Alt + Shift + F 10   运行模式配置

Alt + Shift + F9       调试模式配置

调试类:

F8   单步调试(一行一行走)

F7    进入内部

Shift + F8  退出

Ctrl + F8    在当前行加上断点/断点开关

Ctrl + Shift +F8   查看所有断点

导航类:

Ctrl +N   快速查找类(也可查找当前工程中的文件,以文件名查找)

Double  Shift  任意位置查找

 

04.格式化输出

所谓格式化输出,就是按照一个模块整理出来的样子,大体框架不会发生改变,改变的只是自己输入的内容,

格式化输出可参考:https://www.cnblogs.com/fat39/p/7159881.html(内容很全)

num = input('请输入序号:')
name = input('请输入姓名:')
sex = input('请输入性别:')
age = input('请输入年龄:')
msg = '''---------info of %s------
name = %s
sex = %s
age = %s
---------end----------'''%(num,name,sex,age)
print(msg)
name = input('请输入姓名:')
day = input('请输入天数:')
pro = input('请输入进度:')
msg = '''我叫%s,我入班%s天了,现在进行的进度是%s%%'''%(name,day,pro)
print(msg)

 

05.while循环

while 条件 :

  循环体

 

while适用于什么地方?

程序中重复的做之前的事情,输入账号,密码,等操作。

 

count = 0
while count < 5 :
    count += 1
    print(count)
count = 0
while count < 5 :
    count += 1
    print(count)
    if count == 4 :
        break
else :
    print('恭喜发财')

 

06.运算符

 

算术运算符:+,-,*,/, **, //
比较运算符: ==  , > , < , >= , <= , != 
赋值运算符:= ,+= , -= , *= , /= ,.....       eg: count = count + 1  <------->count += 1
逻辑运算符:and   or    not
成员运算符: in , not in
 

07.编码的初识

计算机如何进行信息的交互?实际发送的数据是什么?

就像电报一样,通过电流的高低形成010101010101.....,最终生成不同的文字或者信息.

 

常见的编码:

ascii:计算机最早期的'密码本', 只包含英文字母,数字,特殊字符。
早期的ascii都是7位一段,但是为了以后的发展,拓展了一位.         
eg:
01100001 a
00000111 b
00100100 c
00000011 d

 

 其中,一位 是1bit

1字节 -->1 bytes = 8bit
一个字符用一个字节表示
 
eg:s1 = 'oldboy' 用ascii编码本编译: 6个字节表示
 
随着计算机的发展,世界的编码协会: 本来要写一个能满足全世界语言通用的密码
万国码:unicode: 16bit 2个字节表示一个字符
a : 00000011 00000011
中: 00000111 00000011
 升级: 32bit 4个字节表示一个字符
a : 00000011 00000011 00000011 00000011
中: 00000011 00000011 11000011 00000011
 
但这样过于浪费空间,人们使用utf-8作为密码本:
最少用8位表示一个字符。
a : 00000011
欧洲文字: 00000011 00010011
中:00000011 00100011 11000011
 
s2 = '老boy' : utf-8编码:6个字节。
 
而对于gbk这种国家规定的,则是英文占1个字节,中文占2个字节.
 
要求:对于其历史能够复述出来即可
 
PS:
1.
debug模式可以查错。使用方法:哪里不会左键点击哪里,然后右键debug,则会一行一行执行。
 
 
2.
\n  代表换行
 
 
3.
% 代表占位符,占住这个位置
s:字符串类型    
d:数字
i:数字
注意,上面的讲解更加详细.
 
 
按照顺序替换占位符占住的几个位置.
容易出错的地方:注意input输入的是字符串类型,但如果需要用其他类型占位符的话,记得转换数据类型.
                        但如果整型输入到%s这样的占位符的话也可以输入进去.
 
 
如果想单纯表示百分号,那就这样: %%
 
注意  前面用了占位符,后面也要用占位符表示相互对应
而且数量要一致
注意要加%,表示前后对应.
 
4.
注意while使用时候,Python程序执行的先后顺序.
 
 
 
几种典型错法:
 
无限循环:
 
 算法不对:
 
 
注意,在此处引入计数器的概念, 计数器这个概念会贯穿程序员职业生涯.
 
 
 
注意:True和Fause作为布尔类型,必须要大写!!!
 
 
while里可以用的两个关键字,break和continue
 
终止循环的三个方法:
break:循环中遇到break,直接退出循环.
 
break的用法:
 
 
continue的用法:一般夹在if中.
 
 
固定搭配:
while else
 
只要循环被break打断,则不会执行else的程序.
 
如果一直不满足break的条件,则不会被打断.
 
注意,else后面记得加冒号.
 
5.
运算符:
优先级:  ( ) > not >and >or
同一优先级从左往右依次运算.
成员运算符
 
5.1.比较运算符
 
5.2.运算符两边都是数字
x or y ,if x is true ,return x, else y.  (and与or相反)
 
bool与int的相互转换:
 
 
5.3.面试题(上述二者混合)
 
可以自己出题. 
eg:
print (3 or 4 or 5 and 6 < 7 or not 7 < 8 and 9 < 10 )
 
字符串
 
 
成员运算:
亦可取反.
 
  
06.关于变量,必须先定义,才能使用.
 
 
 07.day02作业:

   

1.判断下列逻辑语句的True,False.
1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
True
2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
False

2.求出下列逻辑语句的值。
1),8 or 3 and 4 or 2 and 0 or 9 and 7
8
2),0 or 2 and 3 and 4 or 6 and 0 or 3
4

3.下列结果是什么?
1)、6 or 2 > 1
6
2)、3 or 2 > 1
3
3)、0 or 5 < 4 (第一个是0的话不能确认后面是什么,所以根据后面写)
0 写错了,写成False
4)、5 < 4 or 3
3
5)、2 > 1 or 6
2 写错了,应该是True
6)、3 and 2 > 1
1 写错了,应该写成True
7)、0 and 3 > 1
0
8)、2 > 1 and 3
3
9)、3 > 1 and 0
0
10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
2

4.while循环语句基本结构?
while 条件 :
循环体

while 条件 :
循环体
else :
语句块
5.利⽤while语句写出猜⼤⼩的游戏:
设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测的结果⼤
了;如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果正确,然后退出
循环。
num = 66
count = 0
num2 = input('请输入数字:')
while int(num2) != num :
if int(num2) > num :
print('大了')
else :
print('小了')
num2 = input('请输入数字:')
print('猜对')
6.在5题的基础上进⾏升级:
给⽤户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果
三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。
num2 = 0
count = 0
while count < 3 :
count += 1
num2 = input('请输入数字:')
if int(num2) != num :
if int(num2) > num :
print('大了')
else :
print('小了')
else :
print('猜对')
break
else :
print ('太笨了你')

num = 66
num2 = 0
count = 0
while count < 3 :
count += 1
num2 = input('请输入数字:')
if int(num2) == num :
print('猜对')
break
else :
if count ==3 :
print('太笨了你')
else :
if int(num2) > num :
print('大了')
else :
print('小了')
7.使⽤while循环输出 1 2 3 4 5 6 8 9 10
count = 0
while count < 10 :
count += 1
print (count)
8.求1 - 100的所有数的和
count = 0
s = 0
while count < 100 :
count += 1
s += count
print(s)
9.输出 1-100 内的所有奇数
count = 0
while count < 100 :
count += 1
if count % 2 == 1 :
print(count)
else :
continue

count = 1
while count < 100 :
print(count)
count = count + 2
10.输出 1-100 内的所有偶数
count = 0
while count < 100 :
count += 1
if count % 2 == 0 :
print(count)
else :
continue

count = 0
while count < 100 :
count = count + 2
print(count)
11.求1-2+3-4+5 ... 99的所有数的和
count = 0
s = 0
i = -1
while count < 100 :
count += 1
s += count * i **count
print(s)
12.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格式化)
count = 0
s = 3
while count < 3 :
count += 1
s -= 1
username = input('请输入用户名:')
password = input('请输入密码:')
if username == 'gh' and password == '123' :
print('恭喜你,成功登陆')
break
else :
if count == 3 :
print('登录失败,今天无法登陆,请明天再登录')
else :
msg = '''
您已经错误 %s 次,
还有 %s 次机会,
请再试一次''' % (count, s)
print(msg)

(有点小问题)
n = 3
while n > 0:
name = input('请输入用户名:')
password = int(input('请输入密码:'))
if name == 'alex' and password == 666:
print('登陆成功')
break
else:
print('用户名或密码错误')
n -= 1
if n == 0:
break
msg = """
------------ warning --------------
剩余错误次数%s
------------- end -----------------
""" % (n)
print(msg)
print('登陆失败')

COUNT = 3
Name = "Admin"
rally_pass_word = "123"
while True:
COUNT -= 1
Tip = "用户名或密码错误! 您还有%d次机会" % COUNT
name = input("请输入您的用户名:")
pass_word = input("请输入您的密码:")

if name == Name and pass_word == rally_pass_word:
print("登录成功")
break
else:
print(Tip)

if COUNT == 0:
break

13.简述ASCII、Unicode、utf-8编码

ASCII码:
ASCII:
英文,American Standard Code for Information Interchange,
美国信息交换标准代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。
它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646。
请注意,ASCII不是ASCⅡ(罗马数字2).
ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),
如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
数字的ASCII码<大写字母的ASCII码<小写字母的ASCII码。

Unicode码:万国码,为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
要求:必须2个字节.(后来升级为4byte)
原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

UTF-8:以字节为单位对Unicode进行编码。UTF-8的特点是对不同范围的字符使用不同长度的编码。
对于0x00-0x7F之间的字符,UTF-8编码与ASCII编码完全相同。UTF-8编码的最大长度是4个字节。
4字节模板有21个x,即可以容纳21位二进制数字。Unicode的最大码位0x10FFFF也只有21位。
如果UNICODE字符由2个字节表示,则编码成UTF-8很可能需要3个字节。而如果UNICODE字符由4个字节表示,则编码成UTF-8可能需要6个字节。
用4个或6个字节去编码一个UNICODE字符可能太多了,但很少会遇到那样的UNICODE字符。

14. 简述位和字节的关系.
1位是1bit. 1字节是 1byte . 8位表示1个字节, 即8bit = 1bytes

默写内容:
1.
count = 0
s = 0
while count < 100 :
count += 1
s += count
print(s)
2.
break : 项目碰到此处直接结束循环,
并且如果是while....else...的话也不执行else后面的内容,
但一定要确保是执行到break而不是仅仅是看到break
continue : 项目碰到此处直接跳过
3.
Unicode:UCS - 2(2byte)或者UCS - 4(4byte)
utf-8:英文1byte,中文3byte(1~4byte)
gbk:1byte(ASCII码)和2byte(中文等)









posted on 2019-03-02 13:40  流云封心  阅读(118)  评论(0编辑  收藏  举报