1.引言
操千曲而后晓声,观万剑而后识器——————《文心雕龙》
什么意思?用人话来说就是程序员是练出来的,不是看出来的,更不是空想出来的。只要有足够的代码量,连小盆友都能接项目,下面就是分享的一些基础习题。2.习题 2.1.Demo1
文章图片
"""
三、循环语句Demo37
"""import random
key = int(random.randint(0,101))
print("请猜测一个0~100的数(n结束)")
while True:
num = input("你的猜测:")
if num == "n":
print("结束")
break
num = int(num)
if num == key:
key2 = input("恭喜你猜对了!再来一把?y/n\n")
if key2 == "n":
break
else:
if num < key:
print("小了。")
else:
print("大了。")
2.2.Demo2
文章图片
"""
三、循环语句Demo38
"""
k = 1
flag = 0
print("找A , B 最大公约数:")
num1 = int(input("A的值:"))
num2 = int(input("B的值:"))
if num1 > num2:
num1,num2 = num2,num1
while k <= num1:
if num1 % k == 0 or num2 % k ==0:
flag = 1
ged = k
k += 1
if flag == 1:
print("A和B两数的最大公约数为:{}".format(ged))
else:
print("A和B没有公约数。")
2.3.Demo3
文章图片
"""
三、循环语句Demo39
"""
import math
import random
num = 0
for i in range(1000000):
x = random.random() * 2 - 1
y = random.random() * 2 - 1
if math.sqrt(x ** 2 + y ** 2) < 1:
num += 1
print("PI为:", num * 4 / 1000000)
2.4.Demo4
文章图片
"""
三、循环语句Demo40
"""
num = float(input("请输入一个不为零的数:"))
sum = 0
posi = 0
nega = 0
total = 0
while num != 0:
sum += num
if num < 0:
nega += 1
else:
posi += 1
total += 1
num = float(input("请输入一个不为零的数:"))
print("正数:{}\n".format(posi))
print("负数:{}\n".format(nega))
print("总数:{}\n".format(total))
print("平均数值:{}\n".format(sum / total))
2.5.Demo5
文章图片
"""
三、循环语句Demo41
"""
num = int(input("请输入一个整数:"))
if num < 2:
print(" ", num, " \n")
while num > 1:
i = 2
while num % i != 0:
i += 1
print("{} ".format(i),end=" ")
num /= i
2.6.Demo6
文章图片
"""
三、循环语句Demo42
"""
num = int(input("请输入一个数:"))for i in range(1, num + 1):
k = i
for j in range(num - i):
print(end = "")
for j in range(1, i * 2):
if j == 1 or j == i * 2:
print("{}".format(i),end="")
else:
if j <= i:
k -= 1
print("{}".format(k),end="")
else:
k += 1
print("{}".format(k),end="")
print("")
2.7.Demo7
文章图片
"""
三、循环语句Demo43
"""
#模式一
# num = int(input("行数:"))
# for i in range(num):
#for j in range(i + 1):
#print(j+1,end="")
#print("")
#模式二
# num = int(input("行数:"))
# for i in range(num , 0 , -1):
#for j in range(i):
#print(j+1,end="")
#print("")#模式三
# num = int(input("行数:"))
# for i in range(num):
#for j in range(num - (i + 1)):
#print(end ="")
#for j in range(i + 1 , 0,-1):
#print(j , end = " ")
#print("")#模式四
num = int(input("行数:"))
for i in range(num , 0, -1):
for j in range(num - (i)):
print(end ="")
for j in range(i):
print(j + 1, end = " ")
print("")
2.8.Demo8
文章图片
"""
三、循环语句Demo44
"""
num = int(input("行数:"))
for i in range(num):
for j in range(num - i -1):
print(end = "")
for j in range(i * 2 - 1):
if j == 0 or j == i * 2 - 2:
print("1", end = "")
else:
if j < i:
print(2 ** j, end = "")
else:
print(2 ** (i - j + 1),end = "")
print("")
2.9.Demo9
文章图片
"""
三、循环语句Demo45
"""
k = 0
for i in range(2,1001):
flag = 1
for j in range(2,i):
if i % j == 0:
flag = 0
break
if flag == 1:
if i < 10:
print(i, end = "")
elif i < 100:
print(i, end = "")
else:
print(i, end = "")
k += 1
if k % 8 == 0 and k != 0:
print("")
2.10.Demo10
文章图片
"""
三、循环语句Demo46
"""
# i = 10000
# i = 20000
i = 30000
PI = 0
sum = 0
for j in range(1 , i + 1):
sum += (-1) ** (j + 1) / (2 * j - 1)
PI = sum * 4
print(PI)
2.11.Demo11
文章图片
"""
三、循环语句Demo47
"""
i = 10
# i = 20000
#i = 100000
e = 1
for j in range(1 , i + 1):
item = 1
for k in range(1 , j + 1):
item /= k
e += item
print(e)
2.12.Demo12
文章图片
"""
三、循环语句Demo48
"""
for i in range(2, 10000):
sum = 0
for j in range(1,i):
if i % j == 0:
sum += j
if sum == i:
print(i,end = "")
2.13.Demo13
文章图片
"""
三、循环语句Demo49
"""
import random
k = ["剪刀","石头","布"]
print("=" * 53)
print(" " * 14, "剪刀石头布三局两胜制:")
print("=" * 53)
i = 0
me = 0
it = 0
while True:
print("当前你赢了",me,"次\n")
print("当前电脑赢了",it,"次\n")
i = int(input("(1)剪刀(2)石头(3)布:\n"))
computer = k.index(random.choice(k))
print("计算机出",k[computer])
if i == computer + 1:
print("平局!")
else:
if i == 1:
if (computer + 1) == 2:
print("电脑赢了这一把!")
it += 1
else:
print("你赢了这一把!")
me += 1
elif i == 2:
if (computer + 1) == 3:
print("电脑赢了这一把!")
it += 1
else:
print("你赢了这一把!")
me += 1
else:
if (computer + 1) == 1:
print("电脑赢了这一把!")
it += 1
else:
print("你赢了这一把!")
me += 1
if me == 3 or it == 3:
print("游戏结束!")
if me == 3:
print("胜利者是你")
else:
print("胜利者是电脑")
break
2.14.Demo14
文章图片
"""
三、循环语句Demo50
"""
nums = []
max = 0
while True:
num = int(input("输入一个数(0结束):"))
nums.append(num)
if num == 0:
count = nums.count(max)
break
if max < num:
max = numprint("输入的数字中最大值为",max)
print("输入的最大数字出现了",count,"次")
2.15.Demo15
文章图片
"""
三、循环语句Demo51
"""
bio = []
num = int(input("请输入一个十进制整数:"))
while num > 0:
bio += str(num % 2)
num //= 2bio.reverse()
print("该数二进制表示为:")
for i in range(len(bio)):
print(bio[i],end="")
2.16.Demo16
文章图片
"""
三、循环语句Demo52
"""
six = []
num = int(input("请输入一个十进制整数:"))
while num > 0:
six += str(num % 16)
num //= 16six.reverse()
print("该数16进制表示为:")
for i in range(len(six)):
print(six[i],end="")
2.17.Demo17
文章图片
"""
三、循环语句Demo
53
"""
import math
import random
#为了减少错误用自定义函数
##求三角形面积
#已知3为(0,0) (1,0) (0,1)
def s(ax,ay,bx,by,cx,cy):
area = abs((ax * (by - cy) + bx * (cy - ay) + cx * (ay - by)) / 2.0)
return areas0 = s(0,0,1,0,0,1)
num = 0
for i in range(1000000):
x = random.random() * 2 - 1
y = random.random() * 2 - 1 s1 = s(x,y,0,0,1,0)
s2 = s(x,y,0,0,0,1)
s3 = s(x,y,1,0,0,1)
if x <= 0:
num += 1
if(s1 + s2 + s3) == s0:
num +=1print("落到奇数区域概率为:", num / 1000000)
2.18.Demo18
【python|python篇 习题(循环语句)】
文章图片
"""
三、循环语句Demo54
"""
k = 0
for i in range(2001,2100):
if i % 400 == 0 or (i % 4 == 0 and i % 100 != 0):
print(i,end="")
k += 1
if k % 10 == 0 and k != 0:
print("")
推荐阅读
- python编程习题(循环语句)
- 前端|b站视频-尚硅谷Web前端Promise从入门到精通-笔记
- 基础面试题
- Python基础/Python进阶一对一答疑
- 饿了么数据采集app爬虫
- 测试基础|如何自学软件测试、包装简历实现华丽转行()
- 职场经验|JMeter中如何实现接口之间的关联()
- IT|怎么都在叫做软件测试(我做软件测试工作的两大乐趣)
- 软件测试|转行软件测试我后悔了