day-04

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

if 语句

(2) if--else
if 条件语句;
    代码1
else:
    代码n
其他语句
执行过程:
满足1,执行1,再执行其他
满足n,执行n,再执行其他

(3)if-elif-elif-.....-else
if 条件语句1:
 代码1
elif 条件语句2:
 代码2
elif 条件语句3:
 代码3
.........
else:
 代码n
其他语句
执行过程:
满足1,执行其他
满足2,执行其他
均不满足,代码n,再执行其他

score= 99
if 0<=score<=60:
    print('不及格') 
elif 60<score<=70:
    print('及格')
elif 70<score<=90:
    print('良好')
elif 90<score<=100:
    print('优秀')
else:
    print('输入数据有误')
print('*****')

二、类型的强制转换

数据类型转换:类型名(被转换的数据)
int float bool str

1.其他的--->整型,int()
浮点数:保留整数
布尔型:true=1 ,false = 0
字符串:去掉引号,本身是整型,仍可转换

print(int(12.6))
print(int(False))
print(int('+11'))

2.其他的--->float()
整型;增加1位小数
布尔;也是1位
字符串:去掉引号,本身是整型,仍然可以

print(float(100))
print(float(True))
print(float('12'))

3.其他的--->bool
所有类型—-->布尔true
整数0以及带0的转false

print(bool(0))
print(bool(11.3))
print(bool([1]))

4.其他的----> str(字符串)
不管什么--->字符串
print(str(11))

if ' ':
    print('bbbb')
else:
    print('空串')
if len('')== 0:
    print('空串')
else:
    print('不是空串')
number=12
if number==0:
    print('是0')
else:
    print('不是0')
if number:
    print('为零')
else:
    print('不为零')
  1. if语句还可以嵌套
number = 12
if number%2==0:
    print('%d是偶数'%(number))
    if number%4==0:
        print('%d是4的倍数'%(number))
else:
    print('%d是奇数'%(number))
if number%2:
    print('奇数')
else:

    print('偶数')
if isinstance(number,int):
    print('是整数')
    if number%2:
        print('奇数')     
    else:
        print('偶数')
        if not (number%4):
            print('是4的倍数')  

6.判断数据的类型

print(isinstance(10,int))
print(isinstance(12.2,float))

三、for-循环

需要重复执行
1.for循环
for 变量名 in 序列:
循环体
for:关键字
变量名:功能也是存储值
in:关键字,只表示,不判断
序列:容器类型的数据,字符串、列表、字典、集合、元祖、等等,单个不可以
循环体:重复执行代码块
执行过程:用变量再序列中取数据,1个1个取,每取一次,执行一次循环体,取完为止

for char in 'abcd123':
    print(char)
for char in 'abc'*20:
    print(char)

2.range函数
xrange是2.0版本,range是3.0
range产生制定范围内数字序列,用在for循环,控制次数,产生索引值
range(n):产生0-n-1的整数序列
range(m,n):m-n-1之间整数
range(m,n,step):从m开始,每次加step产生下一数字

for x in range(10):
    print(x)
print('****')
for x in range(10,21):
    print(x)
print('****')
for x in range(1,10,2):
    print(x)
 结果显示13579

练习1+2.....100

sum=0
for x in range(1,101):
    print(x)
    sum+=x
    print(sum)
mul1=1
mul2=1
for x in range(1,11):
    mul1*= x
    if x % 2 == 0:
        mul2 *= x
print(mul1)
print(mul2)

练习2,有'abcdef',依次取偶数位

str='abcdef'
for index in range(0,len(str),2):
    print(str[index])
for index in range(0,len(str)):
    if index%2==0:
        print(str[index])
index=0
for char in str:
    if index%2==0:
        print(char)
    index+=1

四、while循环

while条件语句:
 循环体

其他语句

while:关键字
条件语句:结果是true,或者是False
循环体:重复执行的代码段
执行过程:满足,执行
再判断,再执行
直到不满足,结束
直接执行其他语句
注意:如果条件语句的结果一直都是True,就成死循环,所有,会有结束循环的操作

死循环

 whlie True:
print('aaa')
flag=True
while flag:
    print('aaa')
    flag=False

使用whlie循环计算1+2+3+。。。。100

number=1
sum=0
while number<=100:
    print(number)
    sum+=number
    number+=1
print(sum)
number=0
sum=0
while number<=100:
    if number%2==0:
        sum+=number
    number+=1
print(sum,number)
number=0
sum=0
while number<=100:
    sum+=number
    number+=2
print(sum,number)

python中是没有do whlie循环的

五、continue和break

break和continue,结束循环,方式不同
continue:关键字,结束当次循环,进入下次循环
如果是for循环,变量取下一值
如果是while循环,判断while后面条件语句,为True,继续循环

break:关键字,直接结束循环,执行后面语句

for x in range(10):
    print(x)
    continue
    print('****')
print('***')
for x in range(10):
    if x %2:
        continue
    print(x)
for x in range(10):
    print(x)
    break
print('****')
number=1
while True:
    if number>100:
        break
    print('***',number)
    number+=1
for x in range(100,1000):
    if x%3==0 and x%17==0:
        print(x)
        # 找到第一个就不用往下找
        break

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

for能,while能,
while能, for不一定能,for循环次数是固定的,while可以固定,也可以不固定

1.循环次数不确定的时候,选择while,确定的时候尽量选择for
2.通过循环要遍历一个序列中的值,使用for循环,

2.input()
接收从控制台输入数据的数据(输入的数据以回车结束)
程序中遇到input()函数,程序会阻塞,等待用户输入完成,才会接着
执行后面的代码

使用value去保存从控制台输入的数据
value=input()

3.产生随机数s
random,需要自己导入
randint(m,n):产生一个0-n的随机数(整数)
导入模块

import random
number=random.randint(1,10)
print(number)
上一篇 下一篇

猜你喜欢

热点阅读