题目1https://www.jx-ferrotungsten.com
1.1如何写一段程序判断python编译器的版本号
需要掌握知识
ctypes模块
使用该模块前要导入 import ctypes
ctypes.windll.user32.MessageBoxW(0,“正确版本”,‘正确’,0)的理解
功能将字符串对话框的形式展示
(0,a,b,0):四个参数中a表示输出字符串,b表示文本框标题
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
3
4
5
6
7
需要掌握知识
字符串类型的数据可以使用切片获取对应位置的值
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
1
2
3
4
5
6
7
8
题目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) #‘ ’目的是将名字字符串分开
1
2
3
4
5
6
2.2 上次作业题 输入三角形两个边和两边的夹角(角度制),求三角形面积(*提高部分,用窗口显示)
需要掌握的知识
eval(s):将字符串类型转换为数值类型
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)
1
2
3
4
5
6
7
8
9
10
题目3
3 试着计算1x2x3…x98x99x100的结果
须知
字符串用法
“我名字是%s,我的成绩%d”%(“张三”,12)
结果:我名字是张三,我的成绩12
s=1
for i in range(1,101): #循环100累乘,101不计入
s*=i
print("1*2*3....*98*99*100=%d"%s)
1
2
3
4
5
题目4
4 用蒙特卡罗法求pi的值https://www.jx-ferrotungsten.com
random
1.random.random()产生0-1之间的一个随机数
蒙特卡罗法
进行大量的试验,(x,y)在下面正方形内随机取点,取得点数越多,对应落在园内的点数量和落在正方形点数量之比等于它们的面积之比
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)
————————————————
版权声明:本文为CSDN博主「国民小跟班」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
共同学习,写下你的评论
评论加载中...
作者其他优质文章