python第三次作业
1. 打印课堂上图案
layer=int(input("需要打印的层数:")) for i in range(1,layer+1): for j in range(i): print("*",end="") print() 直角三角形右 layers = int(input("请输入要打印的层数:")) for i in range(1, layers + 1): for _ in range(layers - i): print(" ", end="") for _ in range(i): print("*", end="") print() 等腰三角形 layers = int(input("请输入要打印的层数:")) for i in range(1, layers + 1): for _ in range(layers - i): print(" ", end="") for _ in range(2*i-1): print("*", end="") print() 等腰三角形倒 layers = int(input("请输入要打印的层数:")) for i in range(layers,0,-1): for _ in range(layers - i): print(" ", end="") for _ in range(2*i-1): print("*", end="") print() 菱形: layers = int(input("请输入要打印的层数:")) for i in range(1, layers + 1): print(' ' * (layers - i) + '$ ' * i) for i in range(layers - 1, 0, -1): print(' ' * (layers - i) + '$ ' * i) 空心: rows =int(input("输入菱形的层数:")) for i in range(rows): for j in range(rows - i - 1): print(" ", end="") for j in range(2 * i + 1): if j == 0 or j == 2 * i: print("*", end="") else: print(" ", end="") print() for i in range(rows - 2, -1, -1): for j in range(rows - i - 1): print(" ", end="") for j in range(2 * i + 1): if j == 0 or j == 2 * i: print("*", end="") else: print(" ", end="") print()
2. 判断一个数是否是质数(素数)
num = int(input("输入一个整数:")) if num<=1: print("不是") if num==2: print("是素数") if num>2: for i in range(2,int(num**0.5)+1): if num%i==0: print("不是素数") break else: print("是素数")
3. 设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面)
print(" 英雄商城英雄列表")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("编号 姓名 昵称 价格 库存 描述\n")
print("1 盲僧 迷失之牙 3500 100 丛林不会原谅盲目与无知\n")
print("2 锐雯 放逐之刃 4000 100 她是残忍高效的战士 \n")
print("3 薇恩 暗夜猎手 3500 100 这个世界不想人们想象的那么美好\n")
print("4 扎克 生化魔人 3000 100 即使你没有脊柱,你也必须站起来\n")
print("5 杰斯 未来守护者 2500 100 武装着睿智与魅力,你的选择没有错\n")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
change=int(input("(温馨提示)请输入您的选项:"))
if change == 1 :
print("英雄购买票据")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~\n")
print("英雄名称:盲僧(史诗)")
print("英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)\n攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n")
print("英雄座右铭:一人之行可灭世,众人之勤可救世!\n英雄价格:3000\n活动折扣:9.5\n")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样\n你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
print("~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~")
purchase =str(input("请问是否购买:"))
if purchase == "是":
print("英雄名称:盲僧(史诗)\n英雄价格:10000\n活动折扣:9.5\n")
num =int(input("请输入购买数量:"))
if num ==1:
print("应付付款:9500\n实际付款:10000\n找零:500\n")
else:
print("对不起,英雄限购一")
else:
print("退出")
4. 有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
min_num = None for i in range(3360, 10000, 10): if i % 2 == 0 and i % 3 == 0: min_num = i break max_num = None for i in range(9936, 3359, -10): if i % 2 == 0 and i % 3 == 0: max_num = i break print(f"最小的满足条件的四位数是: {min_num}") print(f"最大的满足条件的四位数是: {max_num}")
5. 编程求一个四位自然数ABCD,它乘以A后变成DCBA
for num in range(1000, 10000): A = num // 1000 B = (num // 100) % 10 C = (num // 10) % 10 D = num % 10 product = num * A reversed_product = int(str(D) + str(C) + str(B) + str(A)) if product == reversed_product: print(f"符合条件的四位数是: {num}")
6. 用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
a = int(input("a为")) b = int(input("b为")) if a%b==0 or a+b>1000: print(f"{a}") else: print(f"{b}")
7. 请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
num=int(input("请输入一个数")) if num%2!=0: print("是奇数") for i in range(1,num+1): if i%5==0: print(f"是五的倍数有:{i}") else: print("是偶数") for i in range(1,num+1): if i%3==0: print(f"是三的倍数有:{i}")
8. 某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
shirt=35 pants=120 purchase_2=int(input("请输入你要购买的裤子的件数:")) purchase_1=int(input("请输入你要购买的衬衫的件数:")) if purchase_1==2: price=shirt*purchase_1*0.9 print("衬衫的价格是:",price) elif purchase_1>=3: price_2=shirt*purchase_1*0.8 print("衬衫的价格是:",price_2) elif purchase_1==1: print("衬衫的价格是:",35) else: print("输入错误") if purchase_2==1: print("裤子的价格是120元") elif purchase_2>=2: print(f"裤子的价格是{pants}*{purchase_2}={pants*purchase_2}") else: print("输入错误") print(f"总计花费{pants*purchase_2}+{price_2}={pants*purchase_2+price_2}")
9. 鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
heads = 35 feet = 94 chickens = 0 rabbits = 0 for chickens in range(0, heads+1): rabbits = heads - chickens chickens_feet = chickens * 2 rabbits_feet = rabbits * 4 total_feet = chickens_feet + rabbits_feet if total_feet == feet: print(f"鸡有 {chickens}只,兔有{rabbits}只" ) break
10. 猜数字游戏(使用random模块完成)
电脑随机一个范围内的数,用户输入数据判断,
如果数大了,提供”数大了“
成功之后,加上用户是否继续功能
mport random print("猜数字游戏开始!") while True: random_number = random.randint(1, 100) while True: guess = int(input("请输入你猜的数字:")) if guess > random_number: print("数字大了!") elif guess < random_number: print("数字小了!") else: print("恭喜你猜对了!") break play_again = input("是否继续游戏?(y/n)") if play_again == "y": continue else: break print("游戏结束!")
11. 猜拳游戏:石头、剪刀、布的游戏
player_change=int(input("请选择(石头(0)剪刀(1)布(2)):")) print("你的选择是:",changes[player_change]) com_random =random.randint(0,2) print("电脑的选择是:",changes[com_random]) if player_change== com_random: print("平局") break elif (player_change==0 and com_random==1) or (player_change==1 and com_random==2) or (player_change==2 and com_random==0): print("你赢了") break else: print("你输了") break

浙公网安备 33010602011771号