python入门(第1节实践课)

题目1
1.1如何写一段程序判断python编译器的版本号

  1. 需要掌握知识
    1. ctypes模块
      1. 使用该模块前要导入 import ctypes
      2. ctypes.windll.user32.MessageBoxW(0,“正确版本”,‘正确’,0)的理解
        1. 功能将字符串对话框的形式展示
        2. (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. 需要掌握知识
    1. 字符串类型的数据可以使用切片获取对应位置的值

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 上次作业题 输入三角形两个边和两边的夹角(角度制),求三角形面积(*提高部分,用窗口显示)

  1. 需要掌握的知识
    1. 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)

题目3
3 试着计算1x2x3…x98x99x100的结果

  1. 须知
    1. 字符串用法
      1. “我名字是%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)

题目4
4 用蒙特卡罗法求pi的值

  1. random
    1.random.random()产生0-1之间的一个随机数
  2. 蒙特卡罗法
    进行大量的试验,(x,y)在下面正方形内随机取点,取得点数越多,对应落在园内的点数量和落在正方形点数量之比等于它们的面积之比

python入门(第1节实践课)_第1张图片

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

你可能感兴趣的:(#,2.python实践课,python,入门,课堂作业,基础)