(本文仅作为学习记录使用)   感谢太白老师和王sir的谆谆教导.
01 上周内容回顾

02 作业讲解
03 int
04 bool
05 str
06 for循环

01.上周内容回顾
格式化输出:
msg = '我的名字%s,我的年龄%s' % ('太白',18)
单纯的表示%
msg = '我的名字%s,我的年龄%s,学习进度3%%' % ('太白',18)

运算符:
算术运算
比较运算 = >
赋值运算:a = b += -=
逻辑运算:and or not

优先级:
()> not > and > or

1,运算符两边全部为比较运算
1 > 2 and 3 < 4 or 2 > 6
2,运算符两边全部为数字
x or y x is True,return x

3,运算符两边是数字或者是比较运算
1 or 3 > 2 and 4 < 5 or 6 and 2 < 7
成员运算:
in not in


while 循环
while 条件:
循环体

如何终止循环?
改变条件
break
quit exit()

continue

编码:
编码里面记录的是什么?
二进制与(文字:a,中,特殊符号等等)字符的对应关系。
ASCII:英文字母,数字,特殊字符。
unicode:万国码:所有的文字字符与二进制的对应关系。
a:0001 0010 0001 0010 0001 0010 0001 0010
中:0001 0010 0001 0011 0001 0010 0001 0010
浪费资源。

utf-8:最少用8位1个字节表示一个字符。
a:0001 0010 (映射的ascii) 英文字母,数字,特殊字符
中:0001 0010 0001 0010 0001 0010 三个字节

gbk:国标。
a:0001 0010 (映射的ascii) 英文字母,数字,特殊字符
中:0001 0010 0001 0010 两个字节

msg = 'tai白'
gbk 编码:5个字节
utf-8 编码:6个字节

0000 0001
8bit 1bytes
1024bytes 1kb
。。。。。。。
详细内容:https://www.cnblogs.com/smithpath/articles/10460799.html

02.作业讲解
# print(1 or 3 > 2 and 4 < 5 or 6 and 2 < 7)
#
# while True:
# print(11)
# print(22)
# # break
# # quit()
# exit('网络连接失败!!')
# print(33)
#
# print(44)

# day02作业及默写
# Day2作业及默写
# 1.判断下列逻辑语句的True,False.
# 1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# 2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
# 2.求出下列逻辑语句的值。
# 1),8 or 3 and 4 or 2 and 0 or 9 and 7
# 2),0 or 2 and 3 and 4 or 6 and 0 or 3
# 3.下列结果是什么?
# 1)、6 or 2 > 1
# 2)、3 or 2 > 1
# 3)、0 or 5 < 4
# 4)、5 < 4 or 3
# 5)、2 > 1 or 6
# 6)、3 and 2 > 1
# 7)、0 and 3 > 1
# 8)、2 > 1 and 3
# 9)、3 > 1 and 0
# 10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2
# 4.while循环语句基本结构?
# 5.利⽤while语句写出猜⼤⼩的游戏:
# 设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测的结果⼤
# 了;如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果正确,然后退出
# 循环。
# 6.在5题的基础上进⾏升级:
# 给⽤户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果
# 三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。


# 7.使⽤while循环输出 1 2 3 4 5 6 8 9 10
# count = 0
# while count < 10:
# count += 1
# if count == 7:
# pass
# else:
# print(count)

# count = 0
# while count < 10:
# count += 1
# if count == 7:
# continue
# print(count)


# 8.求1-100的所有数的和
# 9.输出 1-100 内的所有奇数
# 10.输出 1-100 内的所有偶数


# 11.求1-2+3-4+5 ... 99的所有数的和

# s = 0
# count = 1
# while count < 100:
# if count % 2 == 1:
# s += count
# else:
# s -= count
# count += 1
# print(s)




# 12.⽤户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使⽤字符串格
# 式化)

count = 1
while count < 4:
username = input('请输入姓名:')
password = input('请输入密码:')
if username == 'alex' and password == 'sb':
print('登录成功')
break
else:
print('登录失败,剩余%d次,请重新登录' %(3-count))
'''
count 机会
1 2
2 1
3 0
'''

# 13.简述ASCII、Unicode、utf -8编码
# 14.简述位和字节的关系

while循环.句基本结构?

[初始化语句,一般是用来定义循环变量]

While 条件:

循环体语句

[循环变量更改语句]

[else:

语句体]

如果知道结束边界:通常会定义循环变量:

Counter = 0

While counter < 结束边界:

Xxx

Counter = counter + xxx

 

不知道具体的结束边界,使用死循环。

While True:

结束循环的条件判断:

Break

 

"""
利⽤while语句写出猜⼤⼩的游戏:
设定⼀个理想数字⽐如:66,让⽤户输⼊数字,如果⽐66⼤,则显示猜测的结果⼤
了;如果⽐66⼩,则显示猜测的结果⼩了;只有等于66,显示猜测结果正确,然后退出
循环
"""

while True:
    num = int(input('input a numer:(1-100)'))
    if num > 66:
        print("too big")
    elif num < 66:
        print("too small")
    else:
        print('ok')
        break

 

"""
在5题的基础上进⾏升级:
给⽤户三次猜测机会,如果三次之内猜测对了,则显示猜测正确,退出循环,如果
三次之内没有猜测正确,则⾃动退出循环,并显示‘太笨了你....’。
"""
# 对于计数器,如果是从0开始,条件判断中,一般不会出现等号。
# 如果是从1开始,一般条件中会出现等号。


# counter = 1
# while counter<=3:

counter = 0

while counter < 3:

    num = int(input('input a numer:(1-100)'))
    if num > 66:
        print("too big")
        # counter = counter + 1
        counter += 1
    elif num < 66:
        print("too small")
        counter += 1
    else:
        print('ok')
        break

# else:
#     print("xxxxxxx")

 

"""
使⽤while循环输出 1 2 3 4 5 6 8 9 10
"""
# print(1,2,3,4,sep='*',end='')

x = 0
while x < 10:
    x += 1
    if x != 7:
        print(x,' ',end='')
    else:
        continue

 

"""
求1-100的所有数的和
"""
# sum是一个内置函数名,最好不要和内置函数名重名。


# 求和思想
# 先定义一个变量,用于保存所有数的和,初始值一定为0.
# 每次累加变量,


# 定义求和变量,初始值一定是0
# result = 0
#
# x = 1
# while x<=100:
#     #
#     result = result + x
#
#     x += 1
# print(result)

# 求乘积思想
# 定义一个变量用于保存所有数的乘积,初始值一定为1
# 每一次都乘以变量的值,再把结果重新赋值给该变量


# 1*2*3*4*5*6

result = 1
x = 1
while x <= 5:
    result = result * x
    x = x + 1
print(result)

 

练习:

一张足够大的纸,厚0.01米,喜马拉雅山高8848米,问:这张纸折叠多少次,厚度不小于山的高度?

"""
输出 1-100 内的所有奇数
"""
x = 1
while x <= 100:
    if x % 2 == 1:
        print(x,' ',end='')
   x += 1

 

简述位和字节的关系?

位是计算机中保存数据的最基本单位。

字节是操作系统中保存数据的最基本单位。(相当于最低消费)

一个byte字节= 8bit位

 

03.int

主要要学会十进制与二进制的相互转化.

 

'''
42 ------> ? 101010

'''
int
i = 1000
print(i.bit_length())
'''
该int 转化成的二进制的有效位数。
1 0000 0001
2 0000 0010
3 0000 0011
4 0000 0100
'''

 04.bool

str----->bool
s1 = ' '  True
s1 = ''  False
print(bool(s1))

bool------>str(无意义)

05.str
注意,python中凡是用引号引起来的都是字符串
字符串的作用:
     1,存储相对少量的数据。
    2,描述信息。

  重点:
  1,bool str int 三者之间的转换
  2,字符串的索引,切片

  3,字符串的常用方法
讲解:
# 字符串的索引与切片
# s = 'python脱产班20期'
# 每个字符都有对应的号码。
# 通过索引(切片)出来的内容都是字符串类型。
# 1,通过索引(下标) 号牌 找到对应的元素。
# s1 = s[0]
# # print(s1,type(s1))
# s2 = s[2]
# # print(s2)
# s3 = s[-1]
# print(s3)
# s4 = s[-2]
# print(s4)
s = 'python脱产班20期'

# 按照切片找值
# 顾头不顾腚
# s1 = s[:6] # 从0开始可以省略不写
# print(s1)
# s2 = s[6:9]
# print(s2)
# s3 = s[:] # 从头取到尾
# print(s3)
# s4 = s[6:]
# print(s4)

# 切片+步长
# s5 = s[:5:2]
# print(s5)


# 反向取值必须加反向步长。
# s6 = s[-1:-4:-1]
# print(s6)

# s7 = s[-1:-6:-2]
# print(s7)

# [起始索引: 结尾索引+1: 步长] # 切片取值


# 字符串的常用操作方法

# 大前提:对字符串的任何操作都是产生一个新的字符串,与原字符串没有关系

# s = 'taiBai'

# capitalize 首字母大写 **
# s1 = s.capitalize()
# print(s1)
# print(s)

# upper() lower() ***
# s2 = s.upper()
# print(s2)
# 举例:
# code = 'AeRf'.upper()
# username = input('请输入用户名:')
# your_code = input('请输入验证码:').upper()
# # if your_code == 'AERF' or your_code == 'aerf' or .... :
# if your_code == code:
# if username =='alex':
# pass
# else:
# print('验证码输入有误')


# center 居中可设置填充物 *
# s3 = s.center(20)
# s3 = s.center(20, '*')
# print(s3)

# s = 'taiBai'
# swapcase 大小写反转 *
# s4 = s.swapcase()
# # print(s4)

s = 'alex wusir*taibai7wuchao'
# title 非字母隔开的每个单词的首字母大写 *
# s5 = s.title()
# print(s5)


# strip() ***
# 默认去除字符串两边的空格,换行符,制表符
# 只是去除左边lstrip() rstrip() 课下尝试
# s = ' alex\n'
# s = '\talex\n'
# # print(s)
# s6 = s.strip()
# print(s6)

# name = input('请输入姓名:').strip()
# if name == 'alex':
# print('输入正确')
# else:
# print('输入错误')

# s = 'qw*awle@xyt@'
# # 可设置去除的字符
# s6 = s.strip('qyt@w*')
# print(s6)


# split ***
# str ---> list
# 默认按照空格分割
# s = '武大 小潘 西门'
# l = s.split()
# print(l)
# 指定字符分割。
# s = '武大,小潘,西门'
# s = '武大a小潘a西门'
# # l = s.split(',')
# l = s.split('a')
# print(l)
# s = 'a武大a小潘a西门'
# print(s.split('a'))

# 指定分割次数
# s = '武大a小潘a西门'
# rsplit() 从右边开始分割
# print(s.split('a',1))

# join
# 操作列表时,列表里面的内容必须全部是字符串类型
# 连接符.join(iterable)
# s = 'alex'
# s7 = '*'.join(s)
# s7 = '_'.join(s)
# s7 = 'sb'.join(s)
# print(s7)
# l1 = ['wusir', 'alex', 'taibai']
# s7 = ','.join(l1)
# print(s7)


# startswith() ***
# 判断以什么为开头 可以切片。
# endswith()
# s = 'alextaibai'
# s8 = s.startswith('a')
# s8 = s.startswith('alex')
# s8 = s.startswith('alex')
# s8 = s.startswith('ta', 4, 9) # 顾头不顾腚
# print(s8)


# find :通过元素获取其索引,找到第一个就返回,找不到会返回-1.
# index:通过元素获取其索引,找到第一个就返回,找不到会报错。
s = 'taibai'
# s9 = s.find('a')
# s9 = s.find('ai')
# # 可以切片
# s9 = s.find('a',2,)
# print(s9,type(s9))
# s9 = s.find('W')
# s9 = s.index('W')
# print(s9)


# replace ***
# s = 'alex 是一个很nb的人,非常nb,太nb了'
# s10 = s.replace('nb', 'sb')
# s10 = s.replace('nb', 'sb', 2)
# print(s10)

# format ***
# s = '我叫{},今年{},性别{}'
# 方法一:
# s11 = s.format('美龙', '23', 'man')
# print(s11)

# 方法二:
# s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}'
# s11 = s.format('美龙', '23', 'man')
# print(s11)

# 方法三:
# s = '我叫{name},今年{age},性别{sex},我依然叫{name}'
# s11 = s.format(name='美龙', sex='man', age='23')
# print(s11)

# is系列:
# name='taibai123'
# # print(name.isalnum()) #字符串由字母或数字组成
# # print(name.isalpha()) #字符串只由字母组成
# print(name.isdigit()) #字符串只由数字组成 ***
# i = '1000a'
# if i.isdigit():
# int(i)
# else:
# print('重新输入')

s = 'fdjskfldjsafkldjasfl'
# count 计数:字符串某个字符出现的次数
# print(s.count('f'))


# 公共方法
# len()获取字符串的字符个数,总长度
# print(len(s),type(len(s)))

# s = 'f'
# s = 'f '
# s = ' '
# print(s.isspace())

实操:
# name = input('请输名字:')
# # age = input('请输年龄:')
# # msg = 'my name is %s, my age is %s'%(name,age)
# # print(msg)

# i = 1000
# print(i.bit_length())

# s1 = 'bool'
# print(s1)
# print(bool(s1))
#
# s1 = ''
# print(bool(s1))
# s2 = ' '
# print(bool(s2))

# s1 = str(bool)
# s2 = type(True)
# print(s1)
# print(s2)
# if s1 == s2 :
# print('相等')
# else :
# print('你想多了')
# print(type(s1))

# s = 'Python脱产班20期'
# count = 0
# while count < len(s) :
# print(s[count])
# count += 1

# s = 'Python脱产班20期'
# s1 = s[-2]
# print(s1)

# s = '天王盖地虎,宝塔镇河妖.'
# s1 = s[2:5:2]
# print(s1)
# s2 = s[:]
# print(s2)
# s3 = s[:8:3]
# print(s3)
# s4 = s[-1:-5:-2]
# print(s4)
# s5 = s[8:1:-1]
# print(s5)

# s ='天王盖地虎,dada'
# s1 = s.capitalize()
# print(s1)#capitalize对中文无效
# s10 = 'hanDSOme liKe beAUty'
# s2 = s.capitalize()
# print(s2)
# s3 = s.upper()
# print(s3)
# s4 = s.lower()
# print(s4) #upper和lower可用于登录码不区分大小写.
# print(s.swapcase(),s10.swapcase(),sep='\n')#翻转字母大小写,中文不受影响
# s1 = s10.title()
# print(s1)

#demo1
# username = input('请输入用户名:')
# security_code =input('请输入验证码ardx(不区分大小写):')
# if security_code.lower() == 'arDX'.lower() and username == 'smithpath' :
# print('登录成功')
# else :
# print('登录失败')

# s = 'handsome'
# s1 = s.center(30,'~')#注意,填充码只能用一种形状,不可能有两种甚至多种,如:!@
# print(s1)

# s = ' where there is a will,there is a way. '
# print(s)
# s1 = s.strip()
# print(s1)

# name = input('请输入名字:')
# if name.strip() == 'smithpath' :
# print('ok')
# else :
# print('wrong')

# s = 'dasdnal312341%^$^&*$*&fdgafaf'
# s1 = s.strip('ag^$^&*$*&fd')
# print(s1)

# s = '武大 小潘 西门'
# print(s.split())

# s = '武大,小潘,西门'
# print(s.split())
# s = '武大,小潘,西门'
# print(s.split(','))
# print(s.rsplit(',',1))
# l1 = ['wusir', 'alex', 'taibai']
# s7 = ','.join(l1)
# print(s7)
# s = ['liu~yun','lihua','renshen']
# s1 = ','.join(s)
# print(s1)

# s = 'smithpath'
# print(s.startswith('ami'))
# print(s.startswith('smi'))
# print(s.endswith('smi'))
# print(s.endswith('th'))

# s = 'handsome has some virtues that what the handsome has'
# print(s.replace('handsome','beauty'))

# s = '我叫{},我的年龄是{},我的性别是{}'
# s1 = s.format('smithpath','18','man')
# print(s1)

# s = '我叫{0},我的年龄是{1},我的性别是{2}'
# s1 = s.format('smithpath','18','man')
# print(s1)
#
# s = '我叫{name},我的年龄是{age},我的性别是{sex}'
# s1 = s.format(name='smithpath',age='18',sex='man')
# print(s1)

# s = '天王盖地虎,宝塔镇河妖'
# for i in s :
# print(i,end='')

# s = '天王盖地虎,宝塔镇河妖'
# for i in s :
#
# if i == '盖' :
# continue
# print(i, end='')


06 for循环

 常用:

# for i in s:
# print(i)
# if i == 's':
# break

其中,for else和while else用法相同.

 

 

PS:

特别注意!!!

20190304
 
#split 以什么分割,最终形成一个列表此列表不含有这个分割的元素。
# ret9 = 'title,Tilte,atre,'.split('t')
# print(ret9)
# ret91 = 'title,Tilte,atre,'.rsplit('t',1)
# print(ret91)
 
#strip
name='*barry**'print(name.strip('*'))
print(name.lstrip('*'))
print(name.rstrip('*'))
 
 
看到1 or ???  直接 为1. 不用考虑后面的。
 
 
quit()和exit()直接终止程序.不推荐使用.
exit和quit的括号里可打印字.
eg: quit('出现问题!!!')
 
 
编码:密码本
        二进制与字符的对应关系.  
 
 
1-2+3-4+......+99求和
 
法一:
解题思路可用 if ...else .....
 
法二:
 
 
3次机会
 
 
次方不空格,乘号空格
(除积倒取余)
 
 
对函数的定位
 
空格的bool值也是true.
空值的bool值是false.
对于字符串的话,非空即true.
 
bool------>str               没意义
 
gutoubug
 
 
 
***:必记
**:可记可不记
*:了解即可
 
capitalize:**
upper,lower ***
center:*
swapcase:*
title:*
    非字母隔开的每个单词的首字母大写(字符和空格隔开都行)
strip:***
默认去掉两边的空格,换行符,制表符
split:****************************
str----------->list
以谁分割,分隔符就没了
注意,函数什么东西放括号里?
一般是用于函数运算的.
没有的话就输出空值.
从右边分割的话就是rsplit.
可以指定分割次数.
 
join:连接符:
 
和split成组记.
 
 
 
stratswith和endswith:
 
replace : ***
 
format : ***
 
 
Python中不支持null
 
只要字符串能'.'出来的方法,都是该字符串的专用方法.
 
 
 
 
创建项目之后立马写注释.
 
 
 
 
 
 
 

 

 

 

 

 






posted on 2019-03-05 00:07  流云封心  阅读(175)  评论(0编辑  收藏  举报