4总 循环和分之

1.认识字符串,'圣诞节开发ya123', "abc%u23", '\n\t\'"', '',""
2.python中的字符编码: Unicode , 使用两个字节来对一个字符进行编码 3.获取字符串中的字符
"""
a.获取单个字符
字符串[下标]
下标不能越界:0 ~ 长度-1, -1 ~ -长度

b.获取部分字符(切片)
字符串[下标1:下标2:步进] ,没有步进的时候,相当于步进是1
"""

4.相关运算
a.str1+str2 , 拼接
b.str1*整数, 字符串重复
c.比较运算, == , != , >, <, >=, <=
d. in, not in

5.长度
len(str1)

6.相关的方法

字符串的格式化
"""
带格式符的字符串 % (格式符对应的值)
说明:%是固定的格式; ()也是固定格式。
带格式符的字符串中有几个格式符,那么后面的括号中就必须有几个和它一一对应的值。

%s ---> 字符串
%d ---> 整数
%f ---> 浮点数 %.nf ---> 保留小数点后n位小数
%c ---> 字符 可以将数字转换成字符拼接到字符串中
"""
first_name = '张'
last_name = '三'
age = 28

name = first_name + last_name
print(name)

hello, XXX! 今年X岁
newstr = 'hello,%s%s! 今年%d岁' % (first_name, last_name, age)
print(newstr)

金额是:xx.xx元
money = 999
newstr = '金额是:%.2f元' % (money)
print(newstr)

%c的用法
a:
unit = '$'
newstr = '金额是:%.2f%c' % (money, unit)
print(newstr)

b:
char_code = 97
newstr = '%d对应的字符是%c' % (char_code, char_code)
print(newstr)

%x/%X
number = 1000
newstr = '%d的十六进制是:0x%X' % (number, number)
print(newstr)

练习:使用变量保存学生的名字,年龄和成绩
xxx今年xx岁,他的语文成绩是xxx分。 要求成绩只保留一位小数
student_name = '小明'
age = 30
score = 80
message = '%s今年%d岁,他的语文成绩是%.1f分。' % (student_name, age, score)
print(message)

int, float, bool, str

1.数据类型的自动转换

a = 10 # 整型(int)
b = 12.5 # 浮点型(float)
result = a + b # 会自动将整型a,转换成浮点型,然后再计算
print(type(result))

result2 = a + True # 会自动将布尔True,转换成整型1
print(result2, type(result2))

2.强制转换
基本语法:类型名(需要转换的数据)
a.将其他数据转换成int类型
'''
浮点型、布尔和部分字符串可以转换
'''

print(int(12.55)) # float -> int: 去掉小数点和小数点后面的数
print(int(True), int(False)) # bool -> int: True为1,False为0

去掉字符串的引号后,字符串的内容本身就是一个整数的时候,才能被转换成整型
print(int('-123')) # 可以转换
print(int('23.4')) # 不可以转换

b.将其他的数据类型转换成float类型
"""
整数,布尔和部分字符串可以转换
"""
print(float(100)) # int -> float: 在整数后加.0
print(float(True), float(False)) #bool-> float: True:1.0, False:0.0

去掉引号后,字符串的内容本身就是一个整数或者浮点数的时候,才能被转换成浮点型
print(float('2e3'), float('-12.5'), float('100'))

c.将其他的数据类型转换成bool
"""
所有的数据类型的数据都可以转换成bool

数字中:除了0是False,其他的都是True
字符串中:除了空串,其他的都是True

总结:所有为空、为0的值全部是False。否则就是True
"""
print(bool(0.0000))
print(bool(''))
print(bool([]))
print(bool({}))
print(bool(None))

d.其他类型转换成字符串
"""
所有的数据都可以转换成字符串。转换的时候就是在数据的外面加引号
"""
print(str(100), str(18.9), str(True), str([1,2,3]))

2.python中的分之结构只有一种:if分之结构

"""

  1. if

语法:
if 条件语句:
执行语句块

其他语句

说明:
a. if: python中的关键字,'如果'的意思,用来做判断
b. 条件语句: 最终的结构会被转换成布尔值
c. 冒号: 冒号是固定写法,必须写!
d. 执行语句块:这儿可以是多行语句,但是每行语句必须和前面的if保持一个缩进(一个tab)

执行过程:先判断条件语句的结果是否为True,如果为True就执行冒号后面的执行语句块。
否则直接执行if模块后的其他语句

"""

age = 10

if age >= 18:
print('成年')
print('可以进网吧')

练习:用一个变量保存一个学生的成绩,要求:当学生的成绩大于90的时候,打印优秀。
不管成绩是多少,都把成绩打印出来
score = 99

if score > 90:
print('优秀')

print(score)

"""

  1. if-else
    语法:
    if 条件语句:
    执行语句块1
    else:
    执行语句块2

其他语句

说明:
else: 关键字(else后边的冒号不能省)

执行过程:先判断条件语句的结果是否为True,如果为True就执行执行语句块1,
执行完语句块1后再执行其他语句;如果为False就执行语句块2,
执行完语句块2后再执行其他语句
"""
要求年龄大于等于18就打印成年,否则打印未成年
age = 12

if age >= 18:
print('成年')
else:
print('未成年')
print('不能进网吧')

"""
3.if-elif-(else)

语法:
if 条件语句1:
语句块1

elif 条件语句2:
语句块2

elif 条件语句3:
语句块3

...

else:
语句块n

其他语句

"""
要求成绩大于90分打印优秀,80-90打印良好,60-79及格,60以下不及格
score = 50

if score > 90:
print('优秀')

elif score >= 80:
print('良好')

elif score >= 60:
print('及格')

else:
print('不及格')

"""
4.if语句的嵌套
每个if分之中都可以嵌套其他的if语句

if 条件1:
执行语句1
if 条件2:
执行语句2
else:
执行语句3
else:
执行语句4

"""
成绩和年龄:如果成绩大于等于90并且年龄是18以上就获取 奖金100万,
年龄小于18就获取奖金200万。成绩小于90不管多少岁打印没有奖金
score = 90
age = 18
if score >= 90:
if age >= 18:
print('100万')
else:
print('200万')
else:
print('没有奖金')

练习: 产生一个随机数(0-100),判断随机数是否是偶数,如果是打印偶数,否则打印奇数。
如果能够被4整数,再打印能被4整除
import random
number = random.randint(0, 100)
print('随机数是:%d' % (number))

if number % 2 == 0:
print('偶数')
if number % 4 == 0:
print('能够被4整除')
else:
print('奇数')

补充:
import是python中导入模块或者模块中内容的关键字
random是python内置的产生随机数的模块

number = random.randint(10, 20) # 产生一个10到20的随机整数,并且存到number中
print(number)

3.判断一个数是否是偶数的两种写法

number = 11

初学者
if number % 2 == 0:
print('偶数')

推荐
if not number % 2:
print('偶数')

if number % 2:
print('奇数')
else:
print('偶数')

判断一个字符串是否是空串
初学者
str1 = 'abc'

if str1 == '':
print('是空串')
else:
print('不是空串')

if len(str1) == 0:
print('是空串')
else:
print('不是空串')

推荐
if str1:
print('不是空串')
else:
print('是空串')

if not str1:
print('空串')
else:
print('不是空串')

4.for循环

1+2+3+4+5+....+100
在完成某个功能的时候,如果需要重复某个操作,就可以使用循环。
python中循环结构有两种:for循环和while循环

"""
1.for循环的结构:
for 变量名 in 序列:
循环体

说明:
a.for: 关键字
b.变量名: 和声明变量时的变量名的要求一样
c.in: 关键字
d.序列: 容器(数据本身是由多个数据组成),
例如:字符串、列表、字典、元祖、集合、range、生成式和生成器(迭代器)
e.循环体:需要重复执行的代码

执行过程:
让变量去序列中取数据,一个一个的取,取完为止。每取一个数据,执行一次循环体
"""

"""
x = a
a
x = b
b
x = c
c
x = 1
1
x = 2
2
x = 3
3
"""
for x in 'abc123':
print(x)

range函数是python中内置函数,作用是产生指定范围中的数字
xrange是python2中的函数,python3中用range来代替了
"""
range(N): 产生0 ~ N-1的所有整数
range(N,M): 产生 N ~ M-1的所有整数
range(N,M,step): 产生从 N开始,每step产生一个整数,到M之前
"""
print('===============')
for x in range(10):
print(x)

print('------------')
for num in range(10,21):
print(num)

for x in range(1,11,2):
print(x)

练习:计算1+2+3+...+100
a.先取出1,2,3,... 100

"""
sum1 = 0
x = 1,2,3,4,5
第一次: x = 1 sum1 += 1 sum1 = sum1 + 1 = 0+1
第二次: x = 2 sum1 += 2 sum1 = sum1 + 2 = 0+1+2
第三次: x = 3 sum1 += 3 sum1 = sum1 + 3 = 0+1+2+3
第四次: x = 4 sum1 += 4 sum1 = sum1 + 4 = 0+1+2+3+4
第五次: x = 5 sum1 += 5 sum1 = sum1 + 5 = 0+1+2+3+4+5
"""
sum1 = 0
for x in range(1, 101):
sum1 += x

print(sum1)

统计1~1000中能够被3整除的数的个数
count = 0
for x in range(1, 1001):
if x % 3 == 0:
print('%d可以被3整除' % (x))
count += 1

print('1-1000中能被3整除的个数:%d' % (count))

注意: for循环中用来获取序列值的变量,在循环体不是一定要使用。
如果不用,那么变量名可以声明为_
打印50行'****'
for _ in range(50):
print('****')

"""

5.while结构:

while 条件语句:
循环体

2.说明:
while: 关键字
条件语句: 结果是True或者False
循环体: 要重复执行的代码

3.执行过程:
判断条件语句的结果是否为True, 如果为True就执行循环体,
执行完循环体再判断条件语句是否为True,如果为True就执行循环体....
直到条件语句的结果为False为止
"""
1+2+3+...+100

"""
x = 1
sum1 = 0

x = 1
1 <= 5 True; sum1 += 1 sum1 = sum1 + 1 = 0+1; x = x+1 = 2

x = 2
2 <= 5 True; sum1 += 2 sum1 = 0+1+2; x = x+1 = 3

x = 3
3 <= 5 True; sum1 += 3 sum1 = 1+2+3; x = x+1 = 4

x = 4
4 <= 5 True; sum1 += 4 sum1 = 1+2+3+4; x = 5

x = 5
5 <= 5 True; sum1 += 5 sum1 = 1+2+3+4+5; x = 6

x = 6
6 <= 5 False 结束

"""
x = 1
sum1 = 0
while x <= 100:
print(x)
sum1 += x
x += 1

print(sum1)

练习,问,循环结束后,x的值和sum1的值,分别是多少
x = 1
sum1 = 0
while x <= 5:
x += 1
sum1 += x

x=6 sum1=20=2+3+4+...+6

for循环和while循环的比较:
for循环循环次数是有限的,并且是固定(确定); while循环的循环次数不确定
for循环: 1.遍历序列中的值 2.循环次数确定
while: 1.死循环 2.循环次数不确定

练习: 找大于10000的数中,第一个能够被23整除的数
"""
x = 10001
10001 % 23 != 0 True x = 10002

x = 10002
10002 % 23 !=0 True x = 10003

x = 10003
10003 % 23 !=0 True x = 10004

x = 10004
10004 % 23 !=0 True x = 10005

x = 10005
10005 % 23 !=0 False 结束
"""
x = 10001
while x % 23 != 0:
x += 1

print(x)

6.break和continue

"""
break和continue放到循环体有特殊的功能

break: 程序执行到break, 整个循环直接结束,然后执行循环外面的其他的语句
continue: 循环体中遇到continue,结束当次循环,进入到下次循环的判断。

for x in 序列:
语句1
语句2
continue/break
语句3

其他语句

while 条件:
语句1
语句2
continue/break
语句3

其他语句

"""

%

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容