题目1
1.1如何写一段程序判断python编译器的版本号
import sys #系统模块
import ctypes
a=sys.version #根据系统模块返回,python相应的版本信息
if a[0:5]=='3.6.7': #用切片截取版本号,判断并弹出相应的对话框
ctypes.windll.user32.MessageBoxW(0,"版本正确","正确",0)
else:
ctypes.windll.user32.MessageBoxW(0,"版本错误","错误",0)
1.2 求2009的100次方 第100位到110位这11个数字是多少?其结果一共有多少位?
s=2009**100 #计算出2009**100的结果
s1=str(s) #由于要测量结果的长度,而int类型并不支持,所以要进行类型的转换
print("2009**100=%d"%s)
print("字符串的长度为%d"%len(s1))
print("第100位到110位这11个数字是%s"%s1[100-1:100-1+11+1:])
#理解切片:s1[100-1:100-1+11+1:]
100-1 因为切片是从0开始,所以对应位置前移一个
100-1+11+1 终止位置虽然相隔11个数,但是最后一个数不算,所以对应还要加1
题目2
2.1 作业题 输入三个人的姓名,倒序排列(*提高部分,用窗口显示)
ctypes.windll.user32.MessageBoxW(0,txt,‘标题’,0)
x=input("请输入三个人的名字,倒序输出")
y=x.split() #以空格间隔将字符串拆分为字符列表
print(y[2],y[1],y[0]) #y[i]列表y对应位置的元素
import ctypes
ctypes.windll.user32.MessageBoxW(0,y[2]+' '+y[1]+' '+y[0],"输出结果",0) #‘ ’目的是将名字字符串分开
2.2 上次作业题 输入三角形两个边和两边的夹角(角度制),求三角形面积(*提高部分,用窗口显示)
import math
import ctypes
x=input("请输入两边及夹角")
y=x.split() #拆分字符串,转换为对应的数值类型
a=eval(y[0])
b=eval(y[1])
c=eval(y[2])
o=math.pi*c/180 #转换为弧度
s=0.5*a*b*math.sin(o) #1/2*a*b*sin(弧度) 面积公式
ctypes.windll.user32.MessageBoxW(0,"面积为%s"%s,"输出窗口",0)
题目3
3 试着计算1x2x3…x98x99x100的结果
s=1
for i in range(1,101): #循环100累乘,101不计入
s*=i
print("1*2*3....*98*99*100=%d"%s)
题目4
4 用蒙特卡罗法求pi的值
import random
k=0
m=input("请输入测试次数,输入值越大,估算越准确")
n=int(m) #强制类型转换,input函数接收到的类型是string型
for i in range(n):
x=random.random() #以1/4圆为例,取随机0-1的随机数x,y
y=random.random()
if x**2+y**2<=1: #记录圆内的点的数量
k=k+1
p=k/n #算出对应的点数比
pi=2*2*p #根据圆的面积反推π
print("π=%f"%pi)
python入门(第2节实践课).
努力,就应该有回报,Taylor Swift 最新付费歌曲,来拿吧
Taylor Swift - Lover.
提取码:a8r4