python基础:循环语句的数学运用

例一

在这里插入图片描述

代码

import random 
num = random.randint(0,100)
while True:
	me = int(input('你要输入的数字是多少:'))
	if num == me :
		print('恭喜猜中了')
		break
	elif num > me:
		print('数字猜的太小,重新猜一个数字:')
	else:
		print('数字猜的太大,重新猜一个:')

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
你要输入的数字是多少:17
数字猜的太小,重新猜一个数字:
你要输入的数字是多少:50
数字猜的太小,重新猜一个数字:
你要输入的数字是多少:70
恭喜猜中了

例二

在这里插入图片描述

代码

n1,n2 = eval(input('输入2个数:'))
gcd = [1]
for i in range(1,max(n1+1,n2+1)):
	if n1%i==0 and n2%i==0:
		# gcd.pop()
		gcd.append(i)
	else:
		pass
print('最大公倍数是:',gcd[-1])

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
输入2个数:2,4
最大公倍数是: 2

例三

在这里插入图片描述

代码

zheng = 0
fu = 0
sum1 = 0
while True:
	a = int(input('输入一个整数:'))
	if a>0:
		zheng += 1
		sum1 += a
	elif a<0:
		fu -= 1
		sum1 += a
	else:
		break
print("正数一共有:",zheng)
print("负数一共有:",fu)
print("平均数:",sum1/(zheng+fu))

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
输入一个整数:5
输入一个整数:8
输入一个整数:3
输入一个整数:5
输入一个整数:6
输入一个整数:7
输入一个整数:0
正数一共有: 6
负数一共有: 0
平均数: 5.666666666666667

例四

在这里插入图片描述

代码

a = int(input('输入1--15内的数:')) 
for i in range(a):    # 控制层数
	for j in range(a):   # 控制每一行空格数
		print(' ',end='')
	a -= 1  
	# print() 
	for k in range(i+1,0,-1):  # 每一行1前面的数
		print(k,end='')
	for l in range(2,i+2):  # 1后面的数
		print(l,end='')
	print()

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
输入1--15内的数:6
      1
     212
    32123
   4321234
  543212345
 65432123456

例五

在这里插入图片描述

代码

for i in range(6):
	for j in range(i+1):
		print(j+1,end='')
	print()
print()

for i in range(6):
	for j in range(1,7-i):
		print(j,end='')
	print()
print()

a = 6
for i in range(0,6):  
	for k in range(a): 
		print(' ',end='')
	a -= 1 
	# print()
	for j in range(i+1,0,-1): 
		print(j,end='')
	print()
	
print()
for i in range(6):
	for j in range(i):
		print(' ',end='')
	for k in range(1, 7-i):
		print(k,end='')
	print()

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
1
12
123
1234
12345
123456

123456
12345
1234
123
12
1

      1
     21
    321
   4321
  54321
 654321

123456
 12345
  1234
   123
    12
     1

例六

在这里插入图片描述

代码

a = int(input('输入1--15内的数:')) 
for i in range(a):    # 控制层数
	for j in range(a):   # 控制每一行空格数
		print(' ',end='  ')
	a -= 1  
	# print() 
	for k in range(0,i+1):  # 每一行1前面的数
		print(2**k,end='  ')
	s = 2**k
	for l in range(0,i):  # 1后面的数
		print(int(s/2),end='  ')
		s = s/2
	print()

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
输入1--15内的数:6
                  1
               1  2  1
            1  2  4  2  1
         1  2  4  8  4  2  1
      1  2  4  8  16  8  4  2  1
   1  2  4  8  16  32  16  8  4  2  1

例七

在这里插入图片描述

代码

i = int(input())
sum1 = 0
# a =  
# print(a)
for l in range(1,i+1):
	sum1 += 4*(((-1)**(i+1))/((2*i)-1))
print(sum1)

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
2
-2.6666666666666665

例八

在这里插入图片描述

代码

i = int(input()) 
c = 1 
sum1 = 0
for l in range(i-1): 
	for i in range(i,1,-1): 
		c = c*i  
		# print('c:',c)
	b = 1/c  
	sum1 += b 
print(sum1+1)

运行结果

D:\Desktop\云计算学习笔记\python>py 练习题3.py
2
1.5

例九

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

a = int(input('输入一个十进制数字:'))
li = []
while True:
	if a<2:   
		li.append(1)
		break
	b = a % 2  
	li.append(b)
	a = a // 2  
print(li[::-1])

结果:

D:\Desktop\云计算学习笔记\python>py 练习题3.py
输入一个十进制数字:10
[1, 0, 1, 0]
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Fy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值