美文网首页
总结-day5

总结-day5

作者: L_4bc8 | 来源:发表于2018-11-10 10:03 被阅读0次

5. 分之和循环

5.0. recode

字符串

1. '', "", ''' ''', """ """

str1 = 'abc123\n'
str2 = '''
abc,
abc123,
123!@#'''
print(str1, str2, type(str1), type(str2))

输出

abc123

abc,
abc123,
123!@# <class 'str'> <class 'str'>

2. 普通字符,转义字符,编码字符(\uFFFF)

3. 获取字符串中字符

字符串[下标]
字符串[开始下标:结束下标;步长]

4. 字符串相关运算: +, *, 比较, in/not in, len(), str()

5. 格式字符串

%s
%d
%.nf
...

5.1 分支结构

python中的分支结构只有if语句,没有switch

a. 语法

if 条件语句:
代码段

b. 说明:

if - 关键字
条件语句 - 任何有结果的表达式(不管是什么类型)
: - 固定格式
代码段 - 和if保持一个缩进的一条或者多条语句

c. 执行过程

先判断条件语句的结果是否是True,如果是True,就执行冒号后面的代码段,否者就不执行.

如果条件语句的结果不是布尔,会先将结果转换成布尔再判断
例如:

if 10:
    print('条件语句是10')
if 'abc':
    print('条件语句是abc')  
if True:
    print('条件语句是True')
if 100 > 20:
    print('条件语句是100 > 20')

注意: 赋值语句不能写在if的后面

if num =10:
    print('赋值语句')   # 报错

例:判断奇偶数

num = 12
if num & 1:
    print('%d是偶数' % (num))  # if条件成立则执行和if保持缩进的语句.

print('%d是奇数' % (num))

随机产生一个年龄值,如果年龄大于等于18就打印'成年'.

import random
age = random.randint(0, 100)
print(age)
if age >= 18:
    print('成年')

5.1.1 if - else

a. 语法:

if 条件语句:
代码段1
else:
代码段2

b. 执行过程

先判断条件语句是否为True,为True就执行代码段1,否则就执行代码段2

例:随机产生一个整数如果是奇数打印'XXX是奇数',否则打印'XXX是偶数'

i
mport random
num = random.randint(0, 100)
if num & 1 :
    print('%d是奇数' % (num))
else:
    print('%d是偶数' % (num))

5.1.2 if - elif - else

a. 语法:

if 条件语句1:
代码段1
elif 条件语句2:
代码段2
elif 条件语句3:
代码段3
...
else:
代码段n

b. 执行过程:

先判断条件语句1是否为True,为True就执行代码段1:否则,就判断条件语句2是否为True,为True,就执行代码段2,否则,就判断条件语句3是否为True,为True,就执行代码段,一次类推.如果前面的条件值都为False,就执行else后面的代码段.

注意:
1. 判断后面的条件的前提是前面的条件不成立
2. elif根据情况可以有多个,else也可以省略

例:根据成绩对成绩进行分段:小于60分打印不及格,60到70及格,71-89良好,90及90以上优秀.

score = int(input('请输入成绩:'))
if score < 60:
    print('不及格')
elif score <= 70:
    print('及格')
elif score < 90:
    print('良好')
elif score <= 100:
    print('优秀')
else:
    print('超出范围')

5.1.3. if嵌套

可以在if,elif,else后面的代码段中,都可以再写其他的if语句

例:如果一个数字是偶数就打印'偶数',否则打印'奇数',如果偶数还能被4整除,再打印'4的倍数'.

num = int(input('请输入数字:'))
if num & 1:
    print('奇数')
    if num % 5 == 0:
        print('是5的倍数')
    else:
        print('不是5的倍数')
else:
    print('偶数')
    if num % 4 == 0:
        print('是4的倍数')
    else:
        print('不是4的倍数')

例: 输入一个字符串,判断第一个字符是否是字母,如果是,打印"以字母开头",如果这个字母是大写的,再打印'大写字母',例如:'abc123'-> 打印'以字母开头','Abc123' -> 打印'以字母开头'和大写字母.'12as' - >什么都不打印.

str1 = input('请输入一个字符串:')
if str1[0].isalpha():
    print('以字母开头')
    if str1[0].isupper():
        print('大写字母')

5.2 for循环

python中的循环结构有2种:for循环和while循环
某个操作需要重复执行,就考虑用循环

5.2.1 for循环

a. 语法

for 变量 in 序列:
循环体

b. 说明

for - 关键字
变量 - 变量名
in - 关键字
序列 - 可以是字符串,列表,元组,字典,集合,迭代器,range
循环体 - 和for保持一个缩进的一条或者多条语句(需要重复执行的代码)

c. 执行过程:

让变量取序列中取值,依照索引一个一个的取,取完为止;每取一个值,依次执行循环体(for循环中,序列中值的个数,决定类循环的次数)
例如:

str1 = input('请输入一个字符串:')
for val in str1:
    print(val, '===')

注意:
如果for后面的变量渠道的值,在循环体里面不使用,可以使用下划线(_)来代替

5.2.2 range()

range(n) - 产生一数字序列,序列中的内容是0 ~ n-1
range(m,n) - 产生一数字序列,序列中的内容是m ~ n-1
range(m,n,step) - 产生一数字序列,从m开始,每次加step,直到n前为止.
range()一般用在:
a. 需要产生指定范围的数字序列
b. 单纯的控制for循环的循环次数

例:计算1+2+3+...+100.

sum1 = 0
for value in range(1, 101):
    sum1 += value
print(sum1)

例:计算 2+4+5+8+...+100

sum1 = 0
for value in range(2, 102,2):
    sum1 += value
print(sum1)

sum2 = 0
for value in range(101):
    if not value & 1:
        sum2 += value
print(sum2)

写程序统计一个字符串中数字字符的个数.

str1 = input('请输入一个字符串:')
sum1 = 0
for char in str1:   # 将字符串中的每个字符取出来
    if char.isdigit():  # if '0' <= char <= '9'
        sum1 += 1
print(sum1)

5.3. while 循环

5.3.1

a. 语法

while 条件语句:
循环体

b. 说明

while - 关键字
条件语句 - 有结果的表达式(除了赋值语句,一般的表达式都行)
: - 固定写法
循环体 - 和while保持一个缩进的一条或者多条语句(会被重复执行)

c. 执行过程

先判断条件语句是否为True,为True就执行循环体;
执行完循环体再判断条件语句是否为True,为True就又执行循环体;
执行完循环体再判断条件语句是否为True,为True就又执行循环体;
依次类推..... 直到判断条件语句为False,整个循环结束.

获取 1,2,3....100

num = 1
while num <= 100:
    print(num)
    num += 1

使用获取字符串 'abcd'

index = 0
str1 = 'abc123'
while index < len(str1):
    print(str1[index])
    index += 1

5.3.2. for循环和while循环的选择

python中,for循环能做到的while循环都能做到,但是while循环能做的,for循环不一定能做到.

使用for循环:

  1. 获取序列中的元素(值)
  2. 循环次数确定

while循环:
1.死循环
2.循环次数不确定

例:程序可以不断的进行输入,直到输入的值为0.

str1 = input('请输入:')
while str1 != '0' :
    str1 = input('请输入:')
print('结束')

5.4. 循环中的关键字

continue, else, break

5.4.1. continue

当循环执行过程中遇到continue,会结束当次循环的判断.
(直接进入下次循环的判断:for循环就是用变量取下一个值,while循环就是直接判断条件语句是否为True)

sum1 = 0
for x in range(100):
    if not x & 1:
        continue
    sum1 += x
print(sum1)

5.4.2 break

功能:当循环过程中遇到了break,整个循环直接结束

num = 1
sum1 = 0
while True:
    if sum1+num >= 10:
        break
    sum1 += num
    num += 1

print(sum1)


for x in range(1000):
    print(x)
    break


5.4.3 else

a. 语法:

while 条件语句:
循环
else:
代码段

for 变量 in 序列:
代码段
else:
代码段

b. 执行过程

else结构不会影响原循环的执行过程,当循环自然死亡的时候,就会执行else后面的代码段.
循环因为遇到break而结束的时候不会执行else后面的代码段

for x in range(10):
    print(x)
    if x == 3:
        break
else:
    print('for循环结束了')

相关文章

  • python-day5

    一.day5作业 读程序,总结程序的功能: 1. numbers=1 for i in range(0,20): ...

  • day5总结

    day5 6:45起床(未完成)没有重视自己和考研的重要性 700-7:45背诵英语 未完成 7:50-9:40看...

  • day5总结

    一、输入输出函数 1.输出函数print()1.默认每一个print函数,输出完内容后会输出一个换行2.一个pri...

  • day5 总结

    1.分之结构 python中的分之结构只有if语句,没有switch 11 1. if语句 a.语法:if 条件语...

  • 总结-day5

    5. 分之和循环 5.0. recode 字符串 1. '', "", ''' ''', """ """ 输出 a...

  • Day5总结

    代码是从上往下一次执行的 import是导入一个模块/包的关键字 random模块中提供很多和随机数相关的功能im...

  • Day5总结

    1.分支语句1)if......else语法:if 条件表达式代码段 if语句:if表达式成立(为TURE)才执行...

  • Day5 总结

    一.recode 1.'',"", '''''',""""""(表示字符串) 2.普通字符,转义字符,编码字符(\...

  • day5总结

    分支结构 1.if 语句:a.语法:if 条件语句:代码段 b.说明:if - 关键字条件语句 - 任何有结果的表...

  • day5 总结

    js 1.什么是js js是JavaScript的缩写,是web标准中的行为标准。负责网页中变化的部分。 2.在哪...

网友评论

      本文标题:总结-day5

      本文链接:https://www.haomeiwen.com/subject/dvqzxqtx.html