写作30天养成计划Python

day_003 Python中的if和循环相关功能

2018-07-19  本文已影响75人  HavenYoung

一、if语句

1.基本句式

格式:
if 条件语句:
(缩进)条件语句结果为True执行的代码块

执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有代码;为False,就不执行冒号后面的代码块,直接执行后续的其他语句。

条件语句:可以是任何有值的表达式,但是一般是布尔值
示例:

if True:
    print('执行')
    print('代码1')
    print('代码2')

print('代码3')

结果:

执行
代码1
代码2
代码3

2.if-else

格式:
if 条件语句:
(缩进) 代码块1
else:
(缩进) 代码块2

执行过程:条件语句为True,执行代码块1,条件为False,执行代码块2
示例:

score = 50

if score >= 60:
    print('及格')
else:
    print('不及格')

结果:

不及格

3.if-elif-else

格式:
if 条件语句1:
(缩进) 代码块1
elif 条件语句2:
(缩进) 代码块2
else:
(缩进) 代码块3

执行过程:条件语句1为True,只执行代码块1;条件语句1为False,条件语句2为True,只执行代码块2;条件语句1和2都为False,执行代码块3

示例:

score = 98

if score>=90:
    print('优秀')
elif score>=70:
    print('良好')
elif score>=60:
    print('及格')
elif score>=0:
    print('不及格')
else:
    print('成绩无效')

结果:

优秀

4.if语句的嵌套使用

格式:
if 条件语句1:
(缩进) if 条件语句2:
(缩进)(缩进)代码块1
(缩进) else:
(缩进)(缩进)代码块2
else:
(缩进)代码块3
示例:

num = 16

if isinstance(num, int):
    if num%2:
        print(num , '是奇数')
    else:
        print(num , '是偶数')
        if num%4:
            pass
        else:
            print(num , '是4的倍数')
else:
    print(num, '的数据类型不符合')

结果:

16 是偶数
16 是4的倍数

注:isinstance(值,类型名) ---- 判断指定的值是否是指定额数据类型,ininstance的返回值为:True和False

二、数据类型转换

通用格式:类型名(被转换的数据)
适用类型:int ,float ,str ,bool

1.其他的数据类型转换成整型

方法:int()
特点:
浮点型:取整
bool:True ----- 1 ;False ----- 0
字符串:去掉引号之后依旧就是一个整型数据的字符串才能转换成整型。
示例:

print(int(12.3))
print(int(True))
print(int(False))
print(int('46564'))
print(int('-15'))
print(int('+45'))

结果:

12
1
0
46564
-15
45

2.其他的数据类型转换成浮点型

方法:float()
特点:
整型:在整数后面加个'.0'
bool:True ----- 1.0;False ----- 0.0
字符串:去掉引号之后依旧就是一个整型或者浮点型数据的字符串才能转换成整型。
示例:

print(float(12))
print(float(True))
print(float(False))
print(float('123'))
print(float('123.456'))
print(float('-13.5'))
print(float('+15.54'

结果:

12.0
1.0
0.0
123.0
123.456
-13.5
15.54

3.其他类型的数据转换成布尔类型

方法:bool()
特点:
不管什么类型的数据都可以转换成布尔值
整型:0 ----- False; 其他的都为True
浮点型:0.0 ----- False; 其他都为True
字符串:空字符串('') ----- False;其他都为True
所有为0为空的都为False
示例:

print(bool(1))
print(bool(123))
print(bool(-154))
print(bool(0))
print(bool(12.5))
print(bool(-45.5))
print(bool(0.0))
print(bool('123'))
print(bool('0'))
print(bool(' '))
print(bool(''))
print(bool(None))

结果:

True
True
True
False
True
True
False
True
True
True
False
False

4.其他类型的数据转换成字符串

方法:str()
特点:
所有数据类型的数据都可以转换成字符串
其他数据转换成字符串的时候,就是直接在数据的外层加引号
示例:

# 判断一个字符串是否为空串(字符串长度为0)

str1 =''
# 方法1
if str1 == '':
    print('空串')
else:
    print('不是空串')

# 方法2
if len(str1) == 0:
    print('空串')
else:
    print('不是空串')

# 方法3
if str1:
    print('不是空串')
else:
    print('空串')

# 判断一个数字是否为0
number = 0
if number:
    print('不是0')
else:
    print('是0')

结果:

空串
空串
空串
是0

三、for循环

1.for循环

for 变量 in 序列:
(缩进) 循环体

for:关键字
变量:声明中间变量
in:关键字
序列:容器类型的数据 ----- 字符串、列表、集合、字典、元组等
循环体:需要重复执行的代码块

执行过程:用中间变量去取序列中的元素(一次取一个),取完为止,每取一次执行一次循环体。
示例:

number = '一二三123'
for num in number:
    print(num)

结果:

一
二
三
1
2
3

2.range()函数及在for循环中的使用

list1 = [1,2,3,4]

for i in range(1, len(list1)):
    print(list1[i])

print('-'*20)

# 打印20次'abc'
for i in range(20):
    print('abc', i+1)

print('-'*20)

# 步进为2
for i in range(1,11,2):
    print(i)

print('-'*20)

# 练习:计算1+2+3+······+100
# 方法一
sum1 = 0
for num in range(1,101):
    sum1 += num

print(sum1)

# 方法二
sum1 = 0
for num in range(100):
    sum1 += num + 1

print(sum1)
print('-'*20)

# 练习: 计算1*2*3*```*10
sum1 = 1
sum2 = 1
for num in range(1,11):
    sum1 *= num
    if not num%2:
        sum2 *= num


print(sum1)
print(sum2)
print('-'*20)

# 练习2:有一个字符串'abcdef',依次取出偶数位上的字符。(下标为偶数)
# 方法一
str1 = 'abcdef'
list2 = []
for num in range(len(str1)):
    if not num % 2:
        list2.append(str1[num])

print(list2)

# 方法二
for index in range(0, len(str1), 2):
    print(str1[index])

# 方法三
index = 0
for char in str1:
    if not index%2:
        print(char)
    index += 1

结果:

2
3
4
--------------------
abc 1
abc 2
abc 3
abc 4
abc 5
abc 6
abc 7
abc 8
abc 9
abc 10
abc 11
abc 12
abc 13
abc 14
abc 15
abc 16
abc 17
abc 18
abc 19
abc 20
--------------------
1
3
5
7
9
--------------------
5050
5050
--------------------
3628800
3840
--------------------
['a', 'c', 'e']
a
c
e
a
c
e

四、while循环

while 条件语句:
(缩进) 循环体

while:关键字
条件语句:结果是True,或者False
循环体:需要重复执行的代码块

python中没有do-while循环
示例:

flag = True
while flag:
    print('flag:战争结束了我就回家结婚')
    flag = False

print('-'*20)

# 使用while循环计算1+2+3+····+100
num = 0
sum1 = 0
while num<101:
    sum1 += num
    num += 1

print(sum1)
    
# 练习:2+4+6+···+100

num = 2
sum2 = 0
while num<101:
    sum2 += num
    num += 2

print(sum2)

结果:

flag:战争结束了我就回家结婚
--------------------
5050
2550

五、continue和break

1.continue

示例:

for num in range(10):
    if num%2:
        continue
    print(num)

结果:

0
2
4
6
8

2.break

示例:

for x in range(1,10):
    print(x)
    if x>5:
        break

结果:

1
2
3
4
5
6

六、for和while的选择和循环嵌套

1.for和while的选择

for:通过序列控制循环,循环的次数是固定的也是确定的。
while:在循环过程中可以修改条件语句的真假,循环次数可以不确定,也可操作。

七、知识拓展

1.input()

2.产生随机数

import random
num = random.randint(1,10)
print(num)

结果:

2
上一篇下一篇

猜你喜欢

热点阅读