分析:二分查找法。查找从1~n的数字中,是否存在一个数m,使得m的平方为n。首先判断mid = (1 + n) / 2的平方power与m的大小,如果power >m,那么说明在[1, mid - 1]区间继续查找,否则在[mid + 1, n]区间继续查找。
code:
def isPower(n):
low = 1
high = n
while low <high:
mid = (high + low) / 2
power = mid * mid
# 接着在1~mid-1区间查找
if power >n:
high = mid - 1
# 接着在mid+1~n区间内查找
elif power <n:
low = mid + 1
else:
return True
return False
if __name__ == "__main__":
n1 = 15
if isPower(n1):
print(str(n1) + "某个自然数的平方")
else:
print(str(n1) + "不是某个自然数的平方")
程序的运行结果:
15不是某个自然数的平方
利用input()函数获取一个数字a,a=input("请输入数字:")。
而Python专用的科学计算扩展库就更多了,例如如下3个十分经典的科学计算扩展库:NumPy、SciPy和matplotlib,它们分别为Python提供了快速数组处理、数值运算以及绘图功能。
由于Python语言的简洁性、易读性以及可扩展性,在国外用Python做科学计算的研究机构日益增多,一些知名大学已经采用Python来教授程序设计课程。
例如卡耐基梅隆大学的编程基础、麻省理工学院的计算机科学及编程导论就使用Python语言讲授。众多开源的科学计算软件包都提供了Python的调用接口,例如著名的计算机视觉库OpenCV、三维可视化库VTK、医学图像处理库ITK。