day4循环和分支

2018-08-23  本文已影响17人  Smilebest

一、数据类型转换

1.数据类型自动转换

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

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

运行

<class 'float'>
11 <class 'int'>

2.强制转换

a.将其他数据转换成int型:浮点型、布尔和部分字符串
print (int(12.5))        float--->int:去掉小数点和小数点后面的数
print (int(True),int(False))    bool--->int: 1   0

运行

12
1 0
print (int('123'))
print (int('-123'))
print (int('122.5'))     错误
print (int('123a'))      错误

运行

123
-123
b.将其他的数据类型转换成flaot类型:整数、布尔和部分字符串
print (float(10))             i
nt---->float:在整数后加.0
print (float(True))           bool--->float:True:1.0,False:0.1
print (float('2e3'),float('-12.3'),float('10'))
c.将其他数据类型转换成bool:
print (bool(1),bool(-1),bool(1.1),bool(-1.25))
print (bool(0),bool(0.0))
print (bool(None),bool([]))
d.其他数据类型转换成字符串,转换的时候就是在数据外面加引号
print (str(100),str(1.2),str(True),str([1,2,3]))

二、if语句

python中的分支结构只有一种:if分支结构

1.if

语法:
if 条件语句:
——执行语句块
其他语句

说明:

练习:用一个变量保存一个学生的成绩,要求:大学生
     成绩大于90的时候,打印优秀,无论成绩多少,都打印
grade = 100
if grade > 90:
    print('优秀')
print ('%d' % (grade))

2.if——else

语法:
if 条件语句:
——执行语句块1
else:
——执行语句块2
其他语句

说明:

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

3.if_elif_else

语法:
if 条件语句1:
——语句块1
elif条件语句2:
——语句块2
elif 条件语句3:
——语句块3
。。。
else:
——语句块
其他语句

+要求成绩大于90分打印优秀,80-90打印良好,60-79打印及格,60以下不及格
grade = 80
if grade > 90:
    print ('优秀')

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

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

else:
    print ('不及格')
 练习
age = 20
if age >= 18:
    print ('成年')
    print ('可以进网吧')
else:
    print ('未成年')

4.if语句的嵌套

成绩和年龄:如果成绩大于90并且年龄是18以上 就获奖100万;
              年龄小于18岁,就获取奖金200万
              成绩小于90,打印没有奖金
grade = 90
age = 18
if grade >= 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 random
number = random.randint(10,20)    产生一个10到20的随机数,并且存到number中
print (number)

三、条件语句的简写

number = 10
if number %2 == 0:
   print ('偶数')
if not number %2 :
    print ('偶数')

if number %2:
    print ('奇数')
str1 = 'abc'
if str =='':
    print ('空串')
else:
    print ('不是空串')
if str:
    print ('不是空串')
else:
    print ('是空串')

四、for的循环

1.for循环的结构:

for 变量名 in 序列:
——循环体

说明:

for x in ('123'):
    print (x)
print ('==========')
for x in range (10):
    print (x)

print ('==========')
for n in range (10,15):
    print (n)

print ('=========')
for x in range (1,11,2):
    print (x)
number = 0
for x in range (1,101):
    number += x
    print (number)

+ 练习:统计1~1000中能够被三整除的数的个数

ste = 0
for x in range (1,1001):
    if x %3 == 0:
        print ('%d 可以被三整除' % (x))
        ste += 1
print ('1~1000中能被三整除的个数:%d' % (ste))
for _ in range(50):
    print ('***')
sum = 0
for x in range (1,10001):
    if x %5 ==0:
        sum += 1
print ('1~10000中能被5整除的数的个数是:%d' % (sum))
 (1,200)     7     个数

dob = 0
for x in range (1,201):
    if x %7 == 0:
        dob += 1
print (dob)

五、while循环

QQ截图20180823160402.png
1.结构:

while 条件语句:
循环体

2.说明:

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

3.执行过程:
判断条件语句的结果是否为True,如果为True就执行循环体,执行完循环体再判断条件语句是否为True。。。。。,直到结果为False为止
 1+2+3+...+100
n = 0
x = 1
while x <= 100:
    n += x
    x += 1
print (n)
x = 1,n = 0
1 <= 100   True;n += x  0+1=n;x+=1  1+x=2
x = 2,n = 0+1
2 <=100    True;n=0+1+x=0+1+2;x=1+x=3
。。。
x = 100,n = 0+1+2+...+99
x <= 100   True;n=0+1+。。。+100;x=1+x=101
x = 1
n = 0
while x <= 5:
    x += 1
    n += x
print (n,x)

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

x = 10001
while x %23 != 0:
    x += 1
print (x)
上一篇 下一篇

猜你喜欢

热点阅读