循环是一种控制一个语句块重复执行的结构 利用循环来连续生成问题。在一个学生回答完所有问题后,报告正确的答案的个数,这个程序能够显示这个测验所用的时间。 利用控制变量count的数值来控制循环的执行,count的初始值为0,每次迭代递增1,每次迭代显示一个问题并对它进行处理。 import time模块,记录时间变化 输入两个正整数,求出最大公约数。 欧几里德算法又称辗转相除法,是指用于计算两个正整数a,b的最大公约数。 定理:两个整数的最大公约数等于其中较小的那个数和两数相除余数的最大公约数。最大公约数(Greatest Common 蒙特卡罗模拟使用随机数和概率解决问题。 一个大于1的整数如果只能被正整数1和它本身整除则它就是素数。 根据自然数中的素数排列,输出前60个素数 并排列整齐。多道减法题测验:
import random import time correctCount=0 count=0 NUMBER_OF_QUESTIONS=5 startTime=time.time()#获取开始时间 while count<NUMBER_OF_QUESTIONS: number1=random.randint(0,9) number2=random.randint(0,9) if number1<number2: number1,number2=number2,number1 answer=eval(input("what is"+str(number1)+"-"+str(number2)+"?")) if number1-number2==answer: print("You are correct!") correctCount+=1 else: print("Your answer is wrong.n",number1,"-", number2,"is",number1-number2) count+=1 endTime=time.time() testTime=int(endTime-startTime) print("Corrtect count is",correctCount,"out of", NUMBER_OF_QUESTIONS,"nTest time is",testTime,"second")
startTime=time.time()#获取开始时间 testTime=time.time()#获取结束时间
找出最大公约数、
n1=eval(input("输入第一个数:")) n2=eval(input("输入第二个数:")) gcd=1 i=2 while i<=n1 and i<=n2: if n1%i==0 and n2%i==0: gcd=i i+=1 print(n1,"and",n2,"最大公约数","is",gcd)
Divisor)缩写为GCD。 gcd(a,b) = gcd(b,a mod b) (不妨设a>b 且r=a mod b ,r不为0)n1=eval(input("输入第一个数:")) n2=eval(input("输入第二个数:")) def gcd(a,b): while b!=0: a,b=b,a%b return a print(n1,"and",n2,"最大公约数",gcd(n1,n2))
蒙特卡罗模拟估计pi
假设一个圆的半径是1,因此这个圆的面积就是pi,而矩形的面积为4,在这个矩形里随机产生一个点,这个点落在圆内的概率为圆形面积/矩形面积=pi/4。
蒙特卡罗算法表示采样越多,越近似最优解。
假设随机产生有1000000个点,有n个点表示落到了圆内,则n=1000000*(pi/4)。pi=4*n/1000000。import random bornnumber=1000000 n=0 for i in range(bornnumber):#在正方形内反复产生随机点(x,y) x=random.random()*2-1 y=random.random()*2-1 if x*x+y*y<=1: n+=1 pi=4*n/bornnumber print("PI is",pi)
素数
解析:为了确定一个数是否为素数,检测它能否被2到number/2的数(包括2和number/2)整除,如果能,那它就不是一个素数,如果是素数,就显示它,如果count可以被10整除,就进入下一行
当count达到60时,程序终止。numberofprimes=60 numberline=10 count=0 number=2 print("The first 60 prime numbers are") while count<numberofprimes: isprime=True divisor=2 while divisor<=number/2: if number%divisor==0:#整除的话就不是素数 isprime=False break #跳出循环 divisor+=1 if isprime: count+=1 print(format(number,"6d"),end='') if count%numberline==0: print() number+=1
此次就到这里,欢迎大家指导指正~ 我是爱吃肉的小白yyyloki,如果你觉得不错的话点个赞👍吧!或者你可以关注,持续更新。我们下次见~886
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算