Python学习第三章
1.Python三种数字类型及其应用
三种数字类型分别是:
Int(整形) 整数类型,存储32位的整数
Long(长整型)具体并没有规定有多长,但是受限制于机器内存
Float(浮点型) 带小数点的数
complex(复数) 由实部和虚部组成。如a+bj可以用complex(a,b)表示。a为实部,b为虚部。
在使用的时候要根据题目的要求具体分辨如何使用。
2.判断条件表达式的真假
学会if…else语句或if…elif…else语句,要格外注意在使用if语句是Python和C语言的差别:
if [条件] :语句
.....(自动缩进)
else : 返回值 (注意是在冒号后面加入返回值)
想要退出循环,注意是删除缩进
if[条件] :语句
同上
elif[条件] :语句
可以有若干的elif语句,但是要注意缩进对齐
else..同上
这里要特别注意,在python中,循环是利用tab缩进来编写的,所以在编辑的时候要注意在同一个循环下先后次序缩进对齐。
For循环的学习
For循环是让程序进行迭代运行的控制语句。基本结构是
for (变量) in (循环次数):
.....(条件语句)
循环结束,退出
2.实例如下:
1.计算复数z=-3+4j,用Python程序求得对应的实部和虚部并计算z的绝对值?
2.利用python程序计算简单的数学表达式
1)
2)
3.编写程序,根据输入的长和宽,计算矩形的面积并输出。要求:输入语句input实现同步赋值。
4.编写程序,用户输入一个三位以上的整数(如果不是三位数则提示输入错误),输出其百位以上的数字。例如用户输入1234,则程序输出12。
5.已知某课程的百分制分数mark,将其转换为5分制(优、良、中、及格、不及格)的评定等级grade,评定条件如下:
6.1)编写计算n的阶乘的程序,n由用户输入。
提示:range(n)函数:产生一个数字序列
range(start,n):产生一个以值start开始的序列,增长到n,但不包含n
range(start,n,step):产生一个以值start开始的序列,增长到n,但不包含n,但是使用step作为数字之间的增量。
2)采用math库中的函数计算n的阶乘
7.输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153是水仙花数,因为。(要求:在循环结构中采用if单分支进行判断)
8.输入一个时间(小时:分钟:秒),输出该时间经过5分30秒后的时间。
9.编写程序,通过对这个级数的项进行求和来求近似的 值:4/1-4/3+4/5-4/7+4/9-4/11+ 程序应该提示用户输入n,要求和的项数,然后输出该级数的前n个项的和。让你的程序从math.pi的值中减去近似值,看看它的准确性。
代码如下
# 1.计算复数z = -3 + 4j,用Python程序求得对应的实部和虚部并计算z的绝对值,并思考输出的绝对值代表什么含义?
z=-3+4j #使用内置函数解决
print('实部:{:.0f}'.format(float(z.real))) # 复 数的实部
print('虚部:{}'.format(z.imag)) # 复数的虚部
print('绝对值:{}'.format(float(abs(z)))) # 平均值
# 2.利用python程序计算简单的数学表达式
# 1)
import math #导入math库
x = (pow(2,4)+7-3*4)/5
print(float(x)) #注意计算的先后顺序,先乘除后加减的原则
# 2)
import math
x = (1+(pow(3,2)))*(16%7)/7
print(float(x))
# 3.编写程序,根据输入的长和宽,计算矩形的面积并输出。要求:输入语句input实现同步赋值。
lw=input('请输入矩形的长和宽,以空格分隔:') #在这里虽然输入的是两个数据长和宽但是实用了一个参数
length, width=map(float ,lw.split()) #这里对输入的两个参数进行切割,分别赋值给length和width
s=length*width # 面积计算
print("矩形面积为:",s)
# 4.编写程序, 用户输入一个三位以上的整数(如果不是三位数则提示输入错误),输出其百位以上的数字。例如用户输入1234,则程序输出12。
s=int(input("请输入数字"))
if s>=100: #判断条件
s=s//100
print(s)
else:
print("输入错误!")
# 5.已知某课程的百分制分数mark,将其转换为5分制(优、良、中、及格、不及格)的评定等级grade,评定条件如下:(注意:不要存在冗余条件)
mark = eval(input("请输入成绩"))
if mark>=90:
print("优")
elif mark>=80 :
print("良")
elif mark>=70 :
print("中")
elif mark>=60 :
print("及格")
elif mark>0 :
print("不及格") #分段比较
# 6.1)编写计算n的阶乘的程序,n由用户输入。
x=int(input("请输入数字: "))
y=1
for i in range(1,x+1):
y=y*i
print(y)
# 2)采用math库中的函数计算n的阶乘
import math
x=int(input("请输入数字 :"))
print(math.factorial(x)) #使用math库的factoriral计算阶乘
# 6.输出“水仙花数”。所谓水仙花数是指1个3位的十进制数,其各位数字的立方和等于该数本身。例如:153
for n in range(100,1000): # n为变量 循环在100到1000数字之间寻找
i=n//100
j=n//10%10
k=n%10
if n==i**3+j**3+k**3:
print(n)
# 7.输入一个时间(小时: 分钟:秒), 输出该时间经过5分30秒后的时间。
old_time = input("请输入一个时间 格式为00:00:00 :")
old_time_li = list(map(int, list(old_time.split(':')))) #利用split对输入的时间时分秒切割
if (old_time_li[2] + 30) < 60:
old_time_li[2] += 30
else:
old_time_li[2] -= 30
if (old_time_li[1] + 1) < 60:
old_time_li[1] += 1
else:
old_time_li[1] -= 59
if (old_time_li[0] + 1) < 24:
old_time_li[0] += 1
else:
old_time_li[0] -= 23
if (old_time_li[1] + 5) < 60:
old_time_li[1] += 5
else:
old_time_li[1] -= 55
if (old_time_li[0] + 1) < 24:
old_time_li[0] += 1
else:
old_time_li[0] -= 23
print("%d:%d:%d"%(old_time_li[0],old_time_li[1],old_time_li[2]))
# 8. 通过对这个级数的项进行求和来求近似的pai值
import math
n = int(input("请输入求和项 : "))
total = 0.0
sgn = 1.0
for i in range(n):
total += sgn*4.0/(2*i+1)
sgn = -sgn
print("输出的接近的pi值是:",total)
print("与pi的差异值为:",math.pi-total)
结果如下