物联网编程技术(Python)元installopenpyxpyag8s/dc/g9/9c58d83d71093c0af5f90875f8595d2e9587fc36532a8bb347608cf0876174kB6es(openpyxl)(1.36viiblsitpenpyxi)(1.0. 1TAp0npyLocai1pip1cachelwhe1s117d/4713dad565d260e7909110623ba66783a2ad345eb76dde111yx1-2.5yx6、如果遇到安装不成功的扩展库,使用浏览器打开下面的网址下载whl文件进行离线安装:https://www.ifd.uci.edu/~gohlke/pythonlibs/7、在IDLE中使用import导入安装好的扩展库,验证是否安装成功。python3.6.0 ShellFile Edit Shell Debug Options Window HelpPython3.6.0(v3.6.0:41df79263a11,Dec232016,08:06:12)[MS0D64)lon win32"credits"or"license()"for more informatio"copyright"Type>>)importopenpyxlimportjiebaimportnumpyas np>>>6
物联网编程技术(Python) 6 6、如果遇到安装不成功的扩展库,使用浏览器打开下面的网址下载 whl 文件进行离线 安装:https://www.lfd.uci.edu/~gohlke/pythonlibs/ 7、在 IDLE 中使用 import 导入安装好的扩展库,验证是否安装成功
物联网编程技术(Python)实验二、Python运算符、内置函数实验目的:1、熟练运用Python运算符。2、熟练运用Python内置函数。实验内容:1、编写程序,输入任意大的自然数,输出各位数字之和。2、编写程序,输入两个集合setA和setB,分别输出它们的交集、并集和差集setA-setB。3、编写程序,输入一个自然数,输出它的二进制、八进制、十六进制表示形式。参考代码:1、num=input("请输入一个自然数:")print(sum(map(int, num)))2、setA=eval(input("请输入一个集合:"))setB=eval(input(再输入一个集合:))print(交集:‘,setA&setB)print('并集:',setAIsetB)print('setA-setB:',setA-setB)3、num=int(input(请输入一个自然数:"))print("二进制:,bin(num))print('八进制:,oct(num))print("十六进制:",hex(num))7
物联网编程技术(Python) 7 实验二、Python 运算符、内置函数 实验目的: 1、熟练运用 Python 运算符。 2、熟练运用 Python 内置函数。 实验内容: 1、编写程序,输入任意大的自然数,输出各位数字之和。 2、编写程序,输入两个集合 setA 和 setB,分别输出它们的交集、并集和差集 setA-setB。 3、编写程序,输入一个自然数,输出它的二进制、八进制、十六进制表示形式。 参考代码: 1、 num = input('请输入一个自然数:') print(sum(map(int, num))) 2、 setA = eval(input('请输入一个集合:')) setB = eval(input('再输入一个集合:')) print('交集:', setA & setB) print(' 并 集 :', setA | setB) print('setA-setB:', setA - setB) 3、 num = int(input('请输入一个自然数:')) print('二进制:', bin(num)) print('八进制:', oct(num)) print('十六进制:', hex(num))
物联网编程技术(Python)实验三、使用蒙特·卡罗方法计算圆周率近似值实验目的:1、理解蒙特·卡罗方法原理。2、理解for循环本质与工作原理。3、了解random模块中常用函数。实验内容:蒙特卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计算问题。假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x,y)必然在木板上(更多的时候是落在单位圆内),如果扔的次数足够多,那么落在单位圆内的次数除以总次数再乘以4,这个数字会无限逼近圆周率的值。这就是蒙特·卡罗发明的用于计算圆周率近似值的方法,如图所示。不--11编写程序,模拟蒙特·卡罗计算圆周率近似值的方法,输入掷飞镖次数,然后输出圆周率近似值。参考代码:fromrandomimportrandomtimes=int(input(请输入掷飞镖次数:")hits =0foriinrange(times):x=random()y=random()if x*x + y*y<= 1:hits += 1print(4.0 * hits/times)8
物联网编程技术(Python) 8 实验三、使用蒙特·卡罗方法计算圆周率近似值 实验目的: 1、理解蒙特·卡罗方法原理。 2、理解 for 循环本质与工作原理。 3、了解 random 模块中常用函数。 实验内容: 蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用, 其中就包括圆周率近似值的计算问题。假设有一块边长为 2 的正方形木板,上面画一个单位圆, 然后随意往木板上扔飞镖,落点坐标(x, y)必然在木板上(更多的时候是落在单位圆内), 如果 扔的次数足够多,那么落在单位圆内的次数除以总次数再乘以 4,这个数字会无限逼近圆周率 的值。这就是蒙特·卡罗发明的用于计算圆周率近似值的方法,如图所示。 编写程序,模拟蒙特·卡罗计算圆周率近似值的方法,输入掷飞镖次数,然后输出圆周 率 近似值。 参考代码: from random import random times = int(input('请输入掷飞镖次数:')) hits = 0 for i inrange(times): x = random() y = random() if x*x + y*y <= 1: hits += 1 print(4.0 * hits/times)
物联网编程技术(Python)实验四、使用列表实现筛选法求素数实验目的:1、理解筛选法求解素数的原理。2、理解列表切片操作。3、熟练运用内置函数enumerate)。4、熟练运用内置函数filer()。5、理解序列解包工作原理。6、初步了解选择结构和循环结构。实验内容:编写程序,输入一个大于2的自然数,然后输出小于该数字的所有素数组成的列表。参考代码:maxNumber=int(input(请输入一个大于2的自然数:"))lst = list(range(2, maxNumber))#最大整数的平方根m = int(maxNumber**0.5)for index,value in enumerate(lst):#如果当前数字已大于最大整数的平方根,结束判断if value>m:break#对该位置之后的元素进行过滤lst[index+1:] = filter(lambda x: x%value != 0, lst[index+1:])print(lst)10
物联网编程技术(Python) 10 实验四、使用列表实现筛选法求素数 实验目的: 1、理解筛选法求解素数的原理。 2、理解列表切片操作。 3、熟练运用内置函数 enumerate()。 4、熟练运用内置函数 filer()。 5、理解序列解包工作原理。 6、初步了解选择结构和循环结构。 实验内容: 编写程序,输入一个大于 2 的自然数,然后输出小于该数字的所有素数组成的列表。 参考代码: maxNumber = int(input('请输入一个大于 2 的自然数:')) lst = list(range(2, maxNumber)) #最大整数的平方根 m = int(maxNumber**0.5) for index, value in enumerate(lst): #如果当前数字已大于最大整数的平方根,结束判断 if value > m: break #对该位置之后的元素进行过滤 lst[index+1:] = filter(lambda x: x%value != 0, lst[index+1:]) print(lst)
物联网编程技术(Python)实验五、使用集合实现筛选法求素数实验目的:1、理解求解素数的筛选法原理。2、理解Python集合对象的discard()方法。3、熟练运用列表推导式。4、理解for循环工作原理。实验内容:输入一个大于2的自然数,输出小于该数字的所有素数组成的集合。参考代码:maxNumber=int(input(请输入一个大于2的自然数:))numbers=set(range(2,maxNumber))#最大数的平方根,以及小于该数字的所有素数m=int(maxNumber**0.5)+1primesLessThanM = [p for p in range(2, m)if 0notin [p%dford inrange(2,int(p**0.5)+1)]]#遍历最大整数平方根之内的自然数for p in primesLessThanM:for i in range(2, maxNumber//p+1):#在集合中删除该数字所有的倍数numbers.discard(i*p)print(numbers)11
物联网编程技术(Python) 11 实验五、使用集合实现筛选法求素数 实验目的: 1、理解求解素数的筛选法原理。 2、理解 Python 集合对象的 discard()方法。 3、熟练运用列表推导式。 4、理解 for 循环工作原理。 实验内容: 输入一个大于 2 的自然数,输出小于该数字的所有素数组成的集合。 参考代码: maxNumber = int(input('请输入一个大于 2 的自然数:')) numbers = set(range(2, maxNumber)) # 最大数的平方根,以及小于该数字的所有素数 m = int(maxNumber**0.5)+1 primesLessThanM = [p for p in range(2, m) if 0 not in [p%d for d in range(2, int(p**0.5)+1)]] # 遍历最大整数平方根之内的自然数 for p in primesLessThanM: for i in range(2, maxNumber//p+1): # 在集合中删除该数字所有的倍数 numbers.discard(i*p) print(numbers)