1.打印课堂上图案
layer = int(input())
index = 1
while index <= layer:
j = 1
while j <= index:
print("*", end="")
j += 1
print()
index += 1
layer = int(input())
# for i in range(layer):
for i in range(1, layer + 1):
for j in range(1, 2 * i):
print("*", end="")
print()
layer = int(input())
for i in range(1, layer + 1):
# 先打印空格
# 空格数 = 总行数 - 当前函数(从1开始)
for j in range(layer - i):
print(" ", end="")
for j in range(i):
print("*", end="")
print()
#方法二:
# for i in range(layer):
# print(" " * (layer - i - 1), end="")
# print("*" * (i + 1))
layer = int(input())
for i in range(1, layer + 1):
# 空格数 = 总行数 - 当前函数(从1开始)
for j in range(layer - i):
print(" ", end="")
for j in range(2 * i - 1):
print("*", end="")
print()
#方法二:
# for i in range(1, layer + 1):
# print(" " * (layer - i), end="")
# print("*" * (2 * i - 1))
layer = int(input())
for i in range(layer, 0, -1):
print(" " * (layer - i), end="")
print("*" * (2 * i - 1))
layer = int(input())
# 判断输入数据是否有误
while layer % 2 == 0:
layer = int(input("对不起,请输入奇数行:"))
# 上半部分
for i in range(1, layer // 2 + 2):
print(" " * (layer - i), end="")
print("*" * (2 * i - 1))
# 下半部分
for i in range(layer // 2, 0, -1):
print(" " * (layer - i), end="")
print("*" * (2 * i - 1))
layer = int(input())
# 上半部分
for i in range(1, layer // 2 + 2):
print(" " * (layer - i), end="")
for j in range(2 * i - 1):
# 判断第一个、最后一个
if j == 0 or j == 2 * i - 2:
print("*", end="")
else:
print(" ", end="")
print()
# 下半部分
for i in range(layer // 2, 0, -1):
print(" " * (layer - i), end="")
for j in range(2 * i - 1):
# 判断第一个、最后一个
if j == 0 or j == 2 * i - 2:
print("*", end="")
else:
print(" ", end="")
print()
layer = int(input())
for i in range(1, layer // 2 + 2):
print(" " * (layer - i), end="")
for j in range(2 * i - 1):
# 判断第一个、最后一个
if j == 0 or j == 2 * i - 2 or i == layer // 2 + 1 or j == i - 1:
print("*", end="")
else:
print(" ", end="")
print()
# 下半部分
for i in range(layer // 2, 0, -1):
print(" " * (layer - i), end="")
for j in range(2 * i - 1):
# 判断第一个、最后一个
if j == 0 or j == 2 * i - 2 or j == i - 1:
print("*", end="")
else:
print(" ", end="")
print()
2.判断一个数是否是质数(素数)
prime = int(input())
flag = True
# 质数就是:只能被1和它本身整除
for i in range(2, prime // 2 + 1):
if prime % i == 0:
flag = False
break
if flag:
print("是质数")
else:
print("不是")
3.设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面) 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)
print("\n\t\t英雄商城购买英雄")
print("英雄信息")
print("~ *" * 14)
print("\n")
print("\t英雄联盟:盲僧(史诗)")
print("\t英雄属性:生命值(428)/能量值200(+0)/移动速度425/攻击力/55.8(+3.2)")
print("\t\t攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125\n")
print("\t英雄座右铭:一人之行可灭世,众人之勤可救世!")
print("\t英雄价格:3000")
print("\t折扣价格:9.5\n")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
print("~ *" * 14)
a = int(input("请输入商品价格:"))
b = int(input("请输入购买数量:"))
c = int(input("(温馨提示)请付款:"))
m = a * b * 0.95
n = c - m
while n < 0:
print("您的金额不够")
break
else:
print("购买成功")
print("\n\t\t英雄商城购买英雄")
print("英雄购买票据")
print("~ *" * 14)
print("\n")
print("\t英雄联盟:盲僧(史诗)")
print("\t英雄价格:3000")
print("\t折扣价格:9.5\n")
print("\t购买数量:{}".format(b))
print("\t应付付款:{}".format(m))
print("\t实际付款:{}".format(c))
print("\t找零:{}".format(n))
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡 ")
print("~ *" * 14)
input("(温馨提示)按任意键返回上一级菜单:")
4.有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
num=range(1000,10000)
l=[]
for i in num :
if int(i/100)%10==3 and int(i/10)%10==6:#筛选百位数字都是3,十位数字都是6
if i%3==0 and i%2==0:#能被2整除,又能被3整除
while i!=0:
l.append(i)
print(max(l))
print(min(l))
break
5.编程求一个四位自然数ABCD,它乘以A后变成DCBA
num = range(1000, 10000)
for i in num:
A = int(i / 1000) % 10
B = int(i / 100) % 10
C = int(i / 10) % 10
D = i % 10
num1 = D * 1000 + C * 100 + B * 10 + A
if i * A == num1:
print(i)
6.用户输入两个数a、b。如果a能被b整除或a加b大于1000,则输出a;否则输出b。
a = float(input("请输入第一个数:"))
b = float(input("请输入第二个数:"))
if a % b == 0 or a + b > 1000:
print(a)
else:
print(b)
7.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
a = int(input("请输入一个数:"))
if a % 2 == 0:
print(f"{a}为偶数,从1到{a}是3倍数有:")
for i in range(1, a + 1):
if i % 3 == 0:
print(i)
else:
print(f"{a}为奇数,从1到{a}是5倍数有:")
for i in range(1, a + 1):
if i % 5 == 0:
print(i)
8.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
a = 35
b = 120
c = int(input("请输入买几件T恤:"))
d = int(input("请输入买几件裤子:"))
if c == 2:
a = a * 0.9
if c >= 3:
a = a * 0.8
if d >= 2:
b = b * 0.9
print(f"小明应该付{c * a + d * b}元")
9.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
for a in range(0,36):
b = 35 - a
if a * 2 + b * 4 == 94:
print(f"鸡有{a}只,兔子有{b}只")
10.猜数字游戏(使用random模块完成) 电脑随机一个范围内的数,用户输入数据判断, 如果数大了,提供”数大了“ 成功之后,加上用户是否继续功能
import random as r
compute = r.randint(0, 100)
while True:
my = int(input("请输入一个0~100的整数:"))
if my > compute:
print("对不起,您猜大了")
elif my < compute:
print("对不起,您猜小了")
else:
print("恭喜您,猜对了")
choice = input("请是否继续猜(Y/y),其他任意符号退出:")
if choice == "Y" or choice == "y":
compute = r.randint(0, 100)
else:
print("欢迎下次再来")
break
11.猜拳游戏:石头、剪刀、布的游戏
import random
print("游戏说明:1代表石头,2代表剪刀,3代表布,0结束游戏")
a = int(input("请输入你的结果:"))
d1 = {1: "石头", 2: "剪刀", 3: "布"}
b = random.randint(1, 3)
while a:
if a > 3 or a < 0:
print("输入错误,请重新输入:")
a = int(input())
else:
if a == b:
print("你出了:", d1[a], "系统出了:", d1[b], "平局!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
else:
if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
print("你出了:", d1[a], "系统出了:", d1[b], "赢了!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
else:
print("你出了:", d1[a], "系统出了:", d1[b], "输了!")
a = int(input("请输入你的结果:"))
b = random.randint(1, 3)
print("游戏结束!")