目录
一、使用循环打印如下图案:
二、判断一个数是否是质数
三、有一些四位数,百位数字都是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
这期的例题分享就到此结束了,如果这些文章对你有帮助,点个赞吧!!!