python基础入门练习题(作业二)

三.循环语句练习题

demo.01

在这里插入图片描述
代码:

import random
t=random.randint(0,99)
print("随机值为",t)
num=int(input("请输入你要猜的(0—100)的数:"))
while True:
	if num>t :
		print("你猜的数太大了")
		num=int(input("请再一次输入:"))
	elif num==t:
		print("恭喜你猜对了")
		break
	else :
		print("你猜的数太小了")
		num=int(input("请再一次输入:"))

运行结果:
在这里插入图片描述

demo.02

在这里插入图片描述
代码:

(a,b)=eval(input("请输入a和b的值:"))
gcd=1
i=1
while i<=a:
	if a%i==0 and b%i==0 :
		gcd=i
	i+=1
print("最大公约数为",gcd)

运行结果:
在这里插入图片描述

demo.03

在这里插入图片描述
代码:

import random
num=0
for i in range(1,1000001):
	x = random.random()*2-1
	y = random.random()*2-1
	d=(x**2+y**2)**0.5
	if d<=1 :
		num+=1
pi = 4 * num / 1000000
print(pi)

运行结果:
在这里插入图片描述

demo.04

在这里插入图片描述
代码:

num1=0
num2=0
sum=0
while True:
	num=int(input("请输入一个整数:"))
	if num>0 :
		num1+=1
		sum+=num
	elif num==0 :
		break
	else :
		num2+=1
		sum+=num
ave=sum/(num1+num2)
print("正数有%s个"% num1)
print("负数有%s个"% num2)
print("总数为",sum)
print("平均数为%s"% ave)

运行结果:
在这里插入图片描述

demo.05

在这里插入图片描述
代码:

i=2
n=int(input("请输入一个整数:"))
while True:
	if n%i==0 :
		print(i,end=",")
		n/=i
	else :
		i+=1
	if n==1:
		break

运行结果:
在这里插入图片描述

demo.06

在这里插入图片描述
代码:

n = int(input("请输入要打印的行数:"))
i = 1
while i<=n:
	blank=n-i
	for j in range(0,blank):
		print(" ",end=" ")
	for j in range(i,0,-1):
		print(j,end=" ")
	for j in range(2,i+1,1):
		print(j,end=" ")
	print()
	i+=1

运行结果:
在这里插入图片描述

demo.07

在这里插入图片描述
代码:

n = int(input("请输入要打印的行数:"))
i = 1
while i<=n:
	for j in range(1,i+1,1):
		print(j,end=" ")
	print()
	i+=1
n = int(input("请输入要打印的行数:"))
i = 1
while i<=n:
	for j in range(1,n-i+2,1):
		print(j,end=" ")
	print()
	i+=1
n = int(input("请输入要打印的行数:"))
i = 1
while i<=n:
	blank=n-i
	for j in range(0,blank):
		print(" ",end=" ")
	for j in range(i,0,-1):
		print(j,end=" ")
	print()
	i+=1
n = int(input("请输入要打印的行数:"))
i = 1
while i<=n:
	blank=i-1
	for j in range(0,blank):
		print(" ",end=" ")
	for j in range(1,n-i+2):
		print(j,end=" ")
	print()
	i+=1

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

demo.08

在这里插入图片描述
代码:

n = int(input("请输入要打印的行数:"))
i=1
while i<=n:
	blank=n-i
	for j in range(0,blank):
		print(" ",end=" ")
	for j in range(0,i):
		print(2**j,end=" ")
	for j in range(i-2,-1,-1):
		print(2**j,end=" ")
	print()
	i+=1

运行结果:
在这里插入图片描述

demo.09在这里插入图片描述

代码:

count=0
for i in range(2,1001):
	for j in range(2,i):
		if i%j==0:
			break
	else :
		count+=1
		print(i,end="\t")
		if count%8==0:
			print()

运行结果:
在这里插入图片描述

demo.10

在这里插入图片描述
代码:

k = -1
i=1
sum=0
I = int(input("请输入I的值:"))
while i<=I :
	k*=-1
	sum+=(1*k)/i
	i+=2
print(4*sum)

运行结果:
在这里插入图片描述

demo.11

在这里插入图片描述
代码:

i=1
t=1
sum=1
I = int(input("请输入I的值:"))
while i<=I:
	t*=i
	sum+=1/t
	i+=1
print(sum)

运行结果:
在这里插入图片描述

demo.12

在这里插入图片描述
代码:

for i in range(1,10000):
	sum=0
	for j in range(1,i):
		if i%j==0:
			sum+=j
	if sum==i:
		print(i)

运行结果:
在这里插入图片描述

demo.13

在这里插入图片描述
代码:

import random
count1=0
count2=0
while True:
	t=random.randint(0,2)
	num=int(input("请输入你的选择(0代表石头,1代表剪刀,2代表布):"))
	if (t==0 and num==1) or (t==1 and num==2) or (t==2 and num==0):
		count1+=1
	elif (t==0 and num==2) or (t==1 and num==0) or (t==2 and num==1):
		count2+=1
	if count1==2 or count2==2:
		break

if count1==2:
	print("计算机赢了")
elif count2==2:
	print("你赢了")

运行结果:
在这里插入图片描述

demo.14

在这里插入图片描述
代码:

count=0
max=0
while True:
	num = int(input("请输入数字:"))
	if num>max:
		max=num
		count=1
	elif num==max:
		count+=1
	if num==0:
		break
print("最大的数为:",max)
print("最大的数出现了%d次" % count)

运行结果:
在这里插入图片描述

demo.15

在这里插入图片描述
代码:

ab=""
n = int(input("请输入一个十进制的整数:"))
print("十进制数{}对应的二进制数为{:b}" .format(n,n))
while n!=0:
	a=n%2
	ab=str(a)+ab
	n=n//2
print(ab)

运行结果:
在这里插入图片描述

demo.16

在这里插入图片描述
代码:

demo.17

在这里插入图片描述
代码:

i=2001
count=0
while i<=2100:
	if(i%4==0 and i%100!=0 or i%400==0):
		count+=1
		print(i,end='  ')
		if count%10==0:
			print()
	i+=1

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值