day04 if语句、for循环和while循环 2018-07

2018-07-19  本文已影响0人  LPP27149

一、if 语句

if语句大致有三种形式
1. if

if 条件语句:
    代码块
其他语句

2. if--else

if 条件语句:
    代码块1
else:
    代码块2
其他语句

3. if -- elif -- ... -- else

if 条件语句1:
    代码块1
elif 条件语句2:
    代码块2

    ...

elif 条件语句n..:
    代码块n
else:
    代码块n+1
其他语句
# 给定一个成绩,评定成绩等级,优(90-100)、良(70-89)、及格(60-69)、不及格(0-59)
score = 80
if 90 <= score <= 100:
    print('优')
elif 80 <= score < 90:
    print('良')
elif 70 <= score < 80:
    print('中')
elif 60 <= score < 70:
    print('合格')
elif 0 <= score < 60:
    print('不合格')
else:
    print('分数异常!!!')


二、类型强制转换

1.其他类型转换成整型: int()

print(int(3.14))
print(int(False))
print(int('-12'))

3
0
-12

2.其他类型转换为浮点型: float()

print(float('2'))
print(float(True),'   ',float(False))
print(float('100'),'   ',float('13.14'))

2.0
1.0 0.0
100.0 13.14

3.其他类型转换成布尔类型: bool()

print(bool(3))
print(bool([1,2,3,0,6]))
print(bool(0))
print(bool(''))
print(bool(None))

True
True
False
False
False

4.其他类型的数据转换成字符串: str()

print(str(0),' ',type(str(0)))
print(str(True),' ',type(str(True)))
print(str(None),' ',type(str(None)))
print(str([1,2,3,1,5]),' ',type(str([1,2,3,1,5])))

0  <class 'str'>
True  <class 'str'>
None  <class 'str'>
[1, 2, 3, 1, 5]  <class 'str'>

4. if 语句可以嵌套使用

if 条件语句1:
    if 条件语句2:
        ...
        if 条件语句...:

        else:
    else:

else:
    条件语句n
其他语句

if语句的嵌套使用

# 给定一个数字,如果是偶数,就打印偶数,是偶数且能被4整除,就打印能被4整除,否则打印奇数

num = 5464
if isinstance(num,int): 
    if num%2:
        print('%d是一个奇数'%(num))
    elif num%4:
        print('%d是一个偶数但不能被4整数'%(num))
    else:
        print('%d是偶数且能被4整除'%(num))
else:
    print('无法判断非整型数')

5464是偶数且能被4整除

5. 判断数据类型

print(isinstance(90,bool))

False


三、循环语句

 需要重复执行某个过程,就需要使用循环语句

1. for 循环:
for循环的格式

for 变量名 in 序列:
    循环体
for char in 'range':
    print(char)
print('---------------------------\n')

r
a
n
g
e

1.1. range()函数( 在Python 2.x 中是xrange() )

# range(n)
for i in range(5):
    print(i)

print('---------------------------\n')

# range(m,n)
for i in range(10,15):
    print(i)

print('---------------------------\n')

# range(m,n,step)
for i in range(20,30,2):
    print(i)

print('---------------------------\n')

0
1
2
3
4
---------------------------

10
11
12
13
14
---------------------------

20
22
24
26
28
---------------------------

一些应用

# 计算1+2+3+...+100
sum = 0
for x in range(1,101):
    sum += x
print(sum)
print('---------------------------\n')

# 用一个循环计算1*2*3*...*10
# 计算2*4*6*...*10
result1 = result2 = 1
for x in range(1,11):
    result1 *= x
    # 判断x是否是偶数
    if x%2 == 0:
        result2 *= x
print(result1)
print(result2)
print('---------------------------\n')

# 有一个字符串'ABCDEFGHIJKL',依次取出字符串偶数为上的字符
str1 = 'ABCDEFG'
for x in range(0,len(str1),2):
    print(x,':',str1[x])
print('---------------------------\n')

5050
---------------------------

3628800
3840
---------------------------

0 : A
2 : C
4 : E
6 : G
---------------------------

2. while循环
while循环的格式

while 条件语句:
    循环体
其他语句

注意: 如果条件语句一直为True,就会造成死循环,所以循环体中一定要有可以让循环结束的操作。

flag = True 
while flag:
    print('666')
    flag = False
    break
print('---------------------------\n')

666
---------------------------

一些例子

# 使用while循环计算1+2+3+...+100

num = 1
sum = 0
while num < 101:
    sum += num
    num += 1
print(sum)
print('---------------------------\n')


# 计算2+4+6+...+100
num = 2
sum = 0
while num <= 100:
    sum += num
    num += 2
print(sum)
print('---------------------------\n')

5050
---------------------------

2550
---------------------------


四、continue和break

 continue 和 break 两个关键字,都是作用于循环中,用来结束循环。

for x in range(1,8):
    if x % 2:
        continue
    print(x)
print('---------------------------\n')

2
4
6
---------------------------

for x in range(1,8):
    print(x)
    break
    print('------')
print('---------------------------\n')

1
---------------------------

一些例子

# 找出100-1000以内第一个能被3整除同时能被17整除的数
num = 100
while True:
    if num <= 1000:
        if num % 3 and num % 17:
            num += 1
        else:
            print(num)
            break
    else:
        print('不存在的')
        break
print('---------------------------\n')

102
---------------------------


五、for循环与while循环的选择

1. for和while的选择

 1.1. 循环次数不确定的时候,选择while循环。

 1.2. 循环次数确定的时候一般选择for循环。

 1.3. 通过循环要遍历一个序列中的值时,使用for循环.。
2. input()

# 使用value取保存从控制台输入的数据
# value = input();
# print(value,'---------')

90
90 ---------

3. 产生随机数

# 导入import模块
import random
number = random.randint(0,10) # 产生一个[0,10]的整数
print(number)

7


上一篇 下一篇

猜你喜欢

热点阅读