目录

一、使用循环打印如下图案:

二、判断一个数是否是质数

三、有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

四、求一个四位自然数ABCD,它乘以A后变成DCBA

五、用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

六、请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

七、输入三边的长度,求三角形的面积和周长(海伦公式)

八、某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

九、鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

十、猜数字游戏(使用random模块完成)电脑随机一个范围内的数,用户输入数据判断,如果数大了,提供”数大了“,成功之后,加上用户是否继续功能

十一、猜拳游戏:石头、剪刀、布的游戏


一、使用循环打印如下图案:

*

***

*****

*******

*********    (1)


   *

  ***

 *****

*******    (2)

*******

 *****

  ***

   *             (3)

   *

  ***

 *****

*******

 *****

  ***        (4)

   *

   *

  * *

 *   *

*     *

 *   *

  * *            (5)

   *

   *

  ***

 * * *

*******

 * * *

  ***        ('6)

   *

# (1)
# while
n = 1
while n <= 5:
	print("*" * (2 * n - 1))
	n += 1
print()

# for
layer = int(input("请输入要打印的层数"))
for i in range(layer):
	print("*" * (2 * i + 1))
# (2)
# while
n = 1
while n <= 4:
	print(" " * (4 - n) + "*" * (2 * n - 1)) 
	n += 1
print()

# for
layer = int(input("请输入要打印的层数"))
for i in range(1, layer + 1):
	print(" " * (layer - i) + "*" * (2 * i - 1))
# (3)

n = 4
while n >= 1:
	print(" " * (4 - n) + "*" * (2 * n - 1)) 
	n -= 1
print()
# (4)

# while
n = 1
while n <= 4:
	print(" " * (4 - n) + "*" * (2 * n - 1)) 
	n += 1
n = n - 2
while n >= 1:
	print(" " * (4 - n) + "*" * (2 * n - 1)) 
	n -= 1

# while for

layer = int(input("请输入要打印的层数"))

while layer & 1 == 0:
	layer = int(input("对不起,必须是奇数行")) 
for i in range(1, layer//2 + 2):
	print(" " * (layer - i) + "*" * (2 * i - 1))
for i in range(layer//2, 0, -1):
	print(" " * (layer -i) + "*" * (2 * i -1))
# (5)
layer = int(input("请输入你要打印的层数(奇数):"))
#条件判断:打印的层数必须为奇数
while layer%2 == 0:
	layer = int(input("输入错误,请再次输入:"))
#打印图形的上半部分
for i in range(1,layer//2+2):
	print(" "*(layer-i),end="")
	for j in range(1,2*i):
		if j == 1 or j == 2*i - 1  :
			print("*",end="")
		else:
			print(" ",end="")
	print()
#下半部分
for i in range(layer//2,0,-1):
	print(" "*(layer-i),end="")
	for j in range(1,2*i):
		if j == 1 or j == 2*i - 1 :
			print("*",end="")
		else:
			print(" ",end="")
	print()
# (6)
layer = int(input("请输入你要打印的层数(奇数):"))
#条件判断:打印的层数必须为奇数
while layer%2 == 0:
	layer = int(input("输入错误,请再次输入:"))
#打印图形的上半部分
for i in range(1,layer//2+2):
	print(" "*(layer-i),end="")
	for j in range(1,2*i):
		if j == 1 or j == 2*i - 1 or i == layer//2+1 or j == i:
			print("*",end="")
		else:
			print(" ",end="")
	print()
#下半部分
for i in range(layer//2,0,-1):
	print(" "*(layer-i),end="")
	for j in range(1,2*i):
		if j == 1 or j == 2*i - 1 or j == i:
			print("*",end="")
		else:
			print(" ",end="")
	print()

二、判断一个数是否是质数

# 方法一
num = int(input("请输入一个整数"))
if num < 2:
	print("此数非质数")
else:
	for i in range(2, num):
		if num % i == 0:
			print("此数非质数")
			break
		else:
			if i == num - 1:
				print("此数为质数")
# 方法二
num = int(input("请输入一个整数"))
flag = True
for i in range(2, num //2 + 1):
	if num % i == 0:
		flag = False
		break
if flag :
	print("是质数")
else:
	print("不是质数")

# 方法三:
num = int(input("请输入一个整数"))
flag = True
for i in range(2, num):
	if num % i == 0:
		flag = False
		break
if flag :
	print("是质数")
else:
	print("不是质数")

三、有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?

nums = []
for i in range(1000, 10000): # 1234
	qian = i // 1000
	bai = i % 1000 // 100
	shi = i % 100 // 10
	ge = i % 10
	if bai == 3 and shi == 6 and i % 6 == 0:
		nums.append(i)
print(f"最大值是{max(nums)}  最小值是{min(nums)}")

四、求一个四位自然数ABCD,它乘以A后变成DCBA

# 方法一:
n = 1000
while n <= 9999:	
	A = n // 1000 #千
	B = (n // 100) % 10
	C = (n // 10) % 10
	D = n % 10
    if n * A == (D * 1000 + C * 100 + B * 10 + A):
		print(n)

	n += 1
# 方法二:
n = 1000
while n <= 9999:	
	A = n // 1000 #千
	B = (n % 1000) // 100
	C = (n % 100) //10
	D = n % 10
    if n * A == (D * 1000 + C * 100 + B * 10 + A):
		print(n)

	n += 1
# 方法三:
n = 1000
while n <= 9999:	
	A =  n // 1000
	B = (n - A * 1000)//100
	C = (n - A * 1000 - B * 100)//10
	D =  n - A * 1000 - B * 100 - C * 10
    if n * A == (D * 1000 + C * 100 + B * 10 + A):
		print(n)

	n += 1

五、用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。

a = int(input("请输入第一个数"))
b = int(input("请输入第二个数"))
if (a % b == 0) or (a + b > 1000):
	print(a)
else:
	print(b)

六、请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些

num = int(input("请输入一个数"))
if num % 2 == 0: # 偶
	for i in range(1, num+1):
		if i % 3 == 0:
			print(i)

else: # 奇
	for i in range(1, num+1):
		if i % 5 == 0:
			print(i)

七、输入三边的长度,求三角形的面积和周长(海伦公式)

a = int(input("请输入第一个数值"))
b = int(input("请输入第二个数值"))
c = int(input("请输入第三个数值"))
if(a + b)>c or (a + c)>b or (b + c)>a:
	p = int((a + b +c)/ 2)
	s = int((p * (p - a) * (p - b) * (p - c))**0.5)
	print(f"三角形的面积为{s},周长为{2 * p}")
else:
	print("这三边无法构成三角形!!!")

八、某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?

clothes_price = 35
trousers_price = 120
clothes_num = int(input("请输入小明买了几件T恤"))
trousers_num = int(input("请输入小明买了几条裤子"))
if clothes_num == 2 or clothes_num == 3:
	clothes_price = clothes_price * 0.9 

elif clothes_num > 3:
	clothes_price = clothes_price * 0.8

elif trousers_num > 2:
	trousers_price = trousers_price *0.9

else :
	clothes_price = clothes_price 
	trousers_price = trousers_price
print(f"小明应付{clothes_price * clothes_num + trousers_price * trousers_num}元")

九、鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?

for robbit in range(1, 35):
	chook = 35 - robbit
	if 4 * robbit + 2 * chook == 94:
		print(f"鸡有{chook}只,兔有{robbit}只")

十、猜数字游戏(使用random模块完成)电脑随机一个范围内的数,用户输入数据判断,如果数大了,提供”数大了“,成功之后,加上用户是否继续功能

import random
computer = random.randint(0, 99)

while True:
	guess = int(input("请输入您要猜的数字"))
	if guess < computer:
		print("猜小了,请继续")
	elif guess > computer:
		print("猜大了,请继续")
	else:
		print("恭喜您,猜对了")
		yn = input("请输入您是否要继续游戏 是【Y/y】, 否【N/n】")
		if yn == "Y" or yn == "y":
			computer = random.randint(0, 99)
		else:
			print("游戏结束")
			break

十一、猜拳游戏:石头、剪刀、布的游戏

print("石头(0)、剪刀(1)、布(2)")
# 石头(0)、剪刀(1)、布(2)
while True:
	computer = random.randint(0,3)
	player = int(input("请开始(石头/剪刀/布)"))
	
	if ((player == 0)and(computer == 1)) or ((player == 1)and(computer == 2)) or ((player == 2) and (computer == 1)):
		print("您赢了")
		yn = input("请输入您是否要继续游戏 是【Y/y】, 否【N/n】")
		if yn == "Y" or yn == "y":
			computer = random.randint(0, 99)
		else:
			print("游戏结束")
			break
	elif player == computer:
		print("平局")
		yn = input("请输入您是否要继续游戏 是【Y/y】, 否【N/n】")
		if yn == "Y" or yn == "y":
			computer = random.randint(0, 99)
		else:
			print("游戏结束")
			break
	else:
		print("computer赢了")
		yn = input("请输入您是否要继续游戏 是【Y/y】, 否【N/n】")
		if yn == "Y" or yn == "y":
			computer = random.randint(0, 99)
		else:
			print("游戏结束")
			break

这期的例题分享就到此结束了,如果这些文章对你有帮助,点个赞吧!!!