Python学习总结【连载】(三)
2018.06.14 Juttachen
概述
+ 10 数据类型转换
+ 11 if 判断
- 格式与执行过程
- input 语句
- pass 语句
+ 12 for 循环
- 格式与执行过程
- range语句
+ 13 while 循环
- 格式与执行过程
十、数据类型转换
1.将其他的数据转换成数字
int():将其他的数据转换成int类型的数据
num = 12.56
print(int(num)) #将浮点数转换成整数(直接去掉小数部分)
bool1 = True
print(int(bool1)) #将布尔值转换成整数,真1假0
str1 = '123'
print(int(str1)) # 将纯数字整型字符串可以直接转化成整型数字
注意:int()转换字符串的时候,不是纯数字会报错,不是整型数字也会报错。
float() 可以将其他数据转换成浮点型数据.和整形相似。
2.把其他数据转换成布尔值
bool() 可以将其他数据转换成布尔值:非零数是True,只有0是False,字符串里面除了空串转换成布尔会变成False以外,其他的都是True。
print(bool(12))
print(bool(-12))
print(bool(12.5))
print(bool(0))
print(bool('abc'))
print(bool('')) #空串是False
3.其他数据转换成字符串
str() 将其他数据转换成字符串。所有的数据类型的数据都可以转换成字符串。
注意:
可以在if或者while循环后的条件语句里面只写数字或字符串,和数据类型相关,见其他类型转换为布尔值情况。
if 10:
print('aaa')
判断一个字符串是否是空串,如果不是就直接打印这个字符串,否则输出空串
str1 = ''
if str1:
print(str1)
else:
print('空串')
十一、if 判断
1. 格式与执行过程
基本格式:
if 条件语句1:
执行语句块1
elif 条件语句2
执行语句块2
else:
执行语句块3
其他语句
执行过程:
先判断条件语句1是否为True,如果为True,就去执行语句块1中,整个条件结果就执行完了,如果是False,执行判断条件语句2,执行语句块2,再执行其他语句,如果False则直接执行语句块3。
条件语句只能有一个语句块被执行
常用形式
if 条件语句:
执行语句块
判断条件语句的值是否为True,如果为True,执行语句块,False执行下面的其他语句。
例子:判断年龄
要求:判断年龄是否大于18,如果大于18输出成年人
age = 12
if age > 18:
print("成年人")
练习:判断一个数是否是偶数,是的打印‘xxx是偶数’
num = 23
if num % 2 == 0:
print('xxx是偶数')
第二种常用形式
if 条件语句1:
执行语句块1
else:
执行语句块2
判断条件语句是否为True,如果为True,就执行语句块1,否则执行语句块2.
判断一个数是否是偶数,是的打印‘xxx是偶数’,不然就打印‘xxx是奇数’。
if num % 2 == 0:
print('%d是偶数'%(num))
else:
print('%d是奇数'%(num))
练习:输入一个数,如果这个数大于10就输出他的二倍值,否则输出这个数的二次幂
num = 2
if num > 10:
num = num * 2
print(num)
else:
print(num**2)
2. input 语句
input():从控制台获取键盘输入的一个字符串,以回车结束。
也就是说:程序执行到input函数的时候,程序就会停下来,等待用户从键盘输入并且以回车结束,然后才会往下执行。
inputvalue = input("请您输出数:")
print(inputvalue)
print(type(inputvalue))
new_value = int(inputvalue) # input()默认输出是字符串类型,要按要求转换成各种类型。比较预算符合和+,*,在运算的时候,两边都可以是数字,或者都是字符串,但不能一边是字符串一边是数字。
if new_value > 10:
num = new_value * 2
print(num)
else:
num = new_value ** 2
print(num)
第三种常用形式
elif 可以按情况写很多很多个
练习:成绩分类
判断成绩是
优秀(90-100)
良好(80-89)
中等(60-79)
不及格(60以下)
grade = 90
if 0 <=grade < 60:
if grade < 0:
print('成绩有误')
else:
print('不及格')
elif grade < 80:
print('中等')
elif grade < 90:
print('良好')
elif grade <= 100:
print('优秀')
else:
print('成绩有误')
练习:年龄判断
婴儿(0-1岁)、儿童(2-4岁)、少年(5-12)、青年(13-18)
成年(19-40),中年(41-60),老年(60-)
age = input()
int_age = int(age)
if int_age < 2:
if int_age > 0:
print('婴儿')
else:
print('错误')
elif int_age < 5:
print('儿童')
elif int_age < 13:
print('少年')
elif int_age < 19:
print('青年')
elif int_age < 41:
print('成年')
elif int_age < 61:
print('中年')
else:
print('老年')
3. pass语句
pass:占位,防止因为没有写块结构而出现。
if age == 10:
pass
十二、for 循环
1.格式与执行过程
python中的for循环只有for-in循环
格式:
for 变量名 in 列表:
循环体
执行过程:使用变量去依次获取列表中的数据直到获取完为止;
每获取一个数据,执行一次循环体。
循环次数:由列表中的数据的个数决定
例子
去获取字符串中每一个字符
str1 = 'abcdefjsajikldjfpjapifosiorekdljs'
for char in str1:
print(char)
# 去统计一个字符串中’a‘出现的次数
num = 0
for char_a in str1:
if ord(char_a) == 97:
num = num + 1
print(num)
# 其他做法
count = 0
for char in str1:
if char == "a":
count += 1
print(count)
2.range语句
range函数: 可以生成一个数值范围
用法1: range(n), 生成0~(n-1)的值
print(range(10))
for x in range(10):
print(x)
用法2:range(m,n),生成 m ~ (n-1)的数
for x in range(2,10):
print(x)
# 打印1-100
for x in range(1,101):
print(x)
# 打印0-100之间所有的偶数
num = 0
for x in range(101):
if x % 2 == 0:
print(x)
用法3: range(m,n,step):从m开始每step取一个数,取到(n-1)为止
step:步数
for x in range(1,101,2):
print(x)
例子
不通过字符串相乘,打印10遍‘=’
注意:编程规范:如果循环中的变量取到的值没有意义,循环只是单纯的控制次数,这个时候for后面的变量名一般都用“_”代替
for _ in range(10):
print("=",end='')
求1+2+3+...+100
sum1=0
for x in range(101):
sum1 += x
print(sum1)
求10!
num1 = 1
for x in range(1,11):
num1 *= x
print(num1)
十三、while 循环
1. 格式与执行过程
格式:
while 条件语句:
循环体
执行过程:
判断条件语句结果是否为真,如果为真就执行一次循环体。
执行完后再次判断条件语句是否为真,为真的话又执行循环体。
重复这个过程,直到条件语句结果为False.
例子
打印1-100
x = 1
while x <= 100:
print(x)
x += 1
计算1+2+3+...+100
看代码,一句一句读,看逻辑,一定要写出来那些变量的变化。
x = 1
num = 0
while x <= 100:
num += x
x +=1 #num = num + 1
print(num)
求1-100中所有偶数的和(while循环)
x =0
sum1 = 0
while x <= 100:
sum1 += x
x += 2
print(sum1)
# 第二种方法
num = 0
sum1 = 0
while num <= 100:
if num % 2 == 0:
sum1 += num
num += 1
print(sum1)