1.请输入两个数和一个符号,完成两个数的+ - * / % // **
x=float(input('输入数字:'))
y=input("输入符号:")
z=float(input("输入数字:"))
flag=0
while flag<1:
if y == "+" :
print("%.2f + %.2f = %.2f" % (x, z, (x + z)))
flag = 1
elif y == "-":
print("%.2f - %.2f = %.2f" % (x, z, (x - z)))
flag = 1
elif y == "*":
print("%.2f * %.2f = %.2f" % (x, z, (x * z)))
flag = 1
elif y == "/":
print("%.2f / %.2f = %.2f" % (x, z, (x / z)))
flag = 1
elif y == "%":
print("%.2f %% %.2f = %.2f" % (x, z, (x % z)))
flag = 1
elif y == "//":
print("%.2f // %.2f = %.2f" % (x, z, (x // z)))
flag = 1
elif y == "**":
print("%.2f ** %.2f = %.2f" % (x, z, (x ** z)))
flag = 1
2.设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面)
展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
输入付款金额->打印购买小票(扩展)
print("\t\t英雄联盟商城首页")
print("~*"*20)
print("\r")
print("\t 1.进入英雄超市")
print("~*"*20)
input('(温馨提示)请输入1:')
print(end='\n')
print("\t\t英雄联盟英雄列表")
print("~ *"*20)
print("\r")
print("编号 姓名 昵称 价格 库存 描述")
print("1 纳尔 迷失之牙 3500 0 丛林不会原谅盲目与无知")
print("2 锐雯 放逐之刃 4000 0 她是残忍高效的战士")
print("3 薇恩 暗夜猎手 3500 0 这个世界不想人们想象的那么美好")
print("4 扎克 生化魔人 3000 0 即使你没有脊柱,你也必须站起来")
print("5 阿狸 九尾妖狐 10000 100 一人之行可灭世,众人之勤可救世!")
print("~ *"*20)
x=int(input('(温馨提示)请输入您要购买的英雄编号:'))
print(end='\n')
while x<=5:
if x==5:
print("\t\t英雄商城购买英雄")
print("~*"*20)
print("\r")
print("\t英雄名称:九尾妖狐(史诗)")
print("\t英雄属性:生命值428(+85)/能量值200(+0)/移动速度425/攻击力55.8(+3.2)")
print("\t\t攻击速度0.651(+3.1%)/护甲值24(+1.25)/攻击距离125")
print("\r")
print("\t英雄座右铭:一人之行可灭世,众人之勤可救世!")
print("\t英雄价格:10000")
print("\t活动折扣:9.5")
print("\r")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
print("~ *"*20)
y=input('(温馨提示)请付款:')
if y=="10000":
print("\t\t英雄商城购买英雄")
print("英雄购买票据")
print("~ *" * 20)
print("\r")
print("\t英雄名称:九尾妖狐(史诗)")
print("\t英雄价格:10000")
print("\t活动折扣:9.5")
print("\r")
print("\t应付付款:9500")
print("\t实际付款:10000")
print("\t找零:500")
print("\r")
print("插播广告:当风云变色,当流离失所,世界不再是旧日模样")
print("你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡")
print("~ *" * 20)
input('(温馨提示)按任意键返回上一级菜单:')
break
print(end='\n')
elif x == 1 or x==2 or x==3 or x==4:
print("该英雄没有库存")
print("输入大于5的数则退出系统")
x=int(input("请输入数字:"))
continue
else :
break
print("已退出登陆")
3.健康计划
用户输入身高(m),体重(kg)
计算公式:BMI = 体重 / 身高^2
BMI < 18.5:过轻
18.5≤ BMI <24:正常
24 ≤ BMI <27:过重
27 ≤ BMI < 30:轻度肥胖
30 ≤ BMI < 35:中度肥胖
BMI ≥ 35:重度肥胖
while True:
height=float(input("请输入身高(m):"))
weight=float(input("请输入体重(kg):"))
BMI=weight/(height**2)
if BMI<18.5:
print("过轻")
x = input("退出系统(y):")
if x == "y":
break
elif BMI <=18.5 and BMI < 24:
print("正常")
x = input("退出系统(y),否则按任意键:")
if x == "y":
break
elif BMI <=24 and BMI < 27:
print("过重")
x = input("退出系统(y),否则按任意键:")
if x == "y":
break
elif BMI <=27 and BMI < 30:
print("轻度肥胖")
x = input("退出系统(y),否则按任意键:")
if x == "y":
break
elif BMI <=30 and BMI < 35:
print("中度肥胖")
x = input("退出系统(y),否则按任意键:")
if x == "y":
break
elif BMI >=35:
print("重度肥胖")
x = input("退出系统(y),否则按任意键:")
if x == "y":
break
4.打印图案
line=int(input("输入行数:"))
flag=0
while flag < line:
print("*"*(flag+1),end="\n")
flag += 1
运行结果
2.
line=int(input("输入行数:"))
for i in range(1,line+1):
write_num=line-i
for j in range(write_num):
print(" ",end="")
star_num=2*i-1
for j in range(star_num):
print("*",end="")
print()
line=int(input("输入行数:"))
for i in range(line,0,-1):
write_num=line-i
for j in range(write_num):
print(" ",end="")
star_num=2*i-1
for j in range(star_num):
print("*",end="")
print()
line=int(input("输入行数:"))
for i in range(1,line):
write_num=line-i
for j in range(write_num):
print(" ",end="")
star_num=2*i-1
for j in range(star_num):
print("*",end="")
print()
for i in range(line,0,-1):
write_num=line-i
for j in range(write_num):
print(" ",end="")
star_num=2*i-1
for j in range(star_num):
print("*",end="")
print()
layer=int(input("请输入奇数行数:"))
while layer%2==0:
layer=int(input("不是奇数,请重新输入:"))
#输出上半层三角形
for i in range(1,layer//2+2): #用i表示每一行
num1=layer//2+1-i #num1表示空格的数量
for j in range(num1):
print(" ",end="")
num2=i*2-1 #num2表示星号的数量
for j in range(num2):
#判断是否打印第一行或最后一个星号
if j==0 or j==num2-1:
print("*",end="")
else:
print(" ",end="")
print("") #换行
for i in range(layer//2,0,-1):
num1=layer//2+1-i
for j in range(num1):
print(" ",end="")
num2=i*2-1
for j in range(num2):
if j==0 or j==num2-1:
print("*",end="")
else:
print(" ",end="")
print("")
#要打印空心菱形,只需在打印星号时进行判断,如果是本行中第一个和最后一个星号就打印星号,否则就打印空格
layer=int(input("请输入奇数行数:"))
while layer%2==0:
layer=int(input("不是奇数,请重新输入:"))
#输出上半层三角形
for i in range(1,layer//2+1): #用i表示每一行
num1=layer//2+1-i #num1表示空格的数量
for j in range(num1):
print(" ",end="")
num2=i*2-1 #num2表示星号的数量
for j in range(num2):
#判断是否打印第一行或最后一个星号
if j==0 or j==num2-1 or j==num2//2:
print("*",end="")
else:
print(" ",end="")
print("") #换行
print("*"*(num2+2))
for i in range(layer//2,0,-1):
num1=layer//2+1-i
for j in range(num1):
print(" ",end="")
num2=i*2-1
for j in range(num2):
if j==0 or j==num2-1 or j==num2//2:
print("*",end="")
else:
print(" ",end="")
print("")
#要打印空心菱形,只需在打印星号时进行判断,如果是本行中第一个和最后一个星号就打印星号,否则就打印空格
5.输入数,判断这个数是否是质数
prime=int(input("请输入数字:"))
for i in range(2,prime+1):
print(i)
if prime%i==0:
break
if prime==i:
print("%d是素数"%prime)
else :
print("%d不是素数" % prime)
6.让用户输入一个月份,判断这个月是哪个季节?
假定3到4月是春季,5到8月是夏季,9到10是秋季,11、12、1、2月是冬季
month=int(input("请输入月份:"))
if month == 3 or month == 4:
print("%d月是春季"%month)
elif month>=5 and month <=8:
print("%d月是夏季"%month)
elif month==9 or month == 10:
print("%d月是秋季"%month)
elif month==1 or month == 2 or month==11 or month == 12:
print("%d月是冬季"%month)
7.登陆账号
提示用户输入用户名,然后再提示输入密码,如果用户名是“admin”并且密码是“88888”,则提示正确,否则,如果用户名不是admin还提示用户用户名不存在,如果用户名是admin则提示密码错误。
while True:
name=input("请输入用户名:")
code=input("请输入密码:")
if name=="admin" and code=="88888":
print("账号登陆成功")
break
elif name=="admin" and code != "88888":
print("密码错误")
elif name !="admin" and code=="88888":
print("用户名不存在")
else :
print("错误")
8.有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
max,min=0,10000
for figure in range(1000,10000):
if figure%1000//100==3 and figure%100//10==2 and figure%3==0 and figure%2==0:
if max < figure:
max=figure
if min >figure:
min=figure
print("%d是最大的四位数,%d是最小的四位数"%(max,min))
9.编程求一个四位自然数ABCD,它乘以A后变成DCBA
for figure in range(1000,10000):
if figure*(figure//1000)==(((figure%10)*1000)+((figure%100//10)*100)+((figure%1000//100)*10)+(figure//1000)):
print(figure)
break
10.用户输入两个数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("a=%d"%a)
else:
print("b=%d"%b)
11.输入赵本山的考试成绩,显示所获奖励
成绩==100分,爸爸给他买辆车
成绩>=90分,妈妈给他买MP4
90分>成绩>=60分,妈妈给他买本参考书
成绩<60分,什么都不买
grade=int(input("请输入赵本山成绩:"))
if grade == 100:
print("喜提新车")
elif grade >= 90:
print("喜提mp4")
elif 60<=grade<90:
print("参考书一本")
elif grade<60:
print("啥都没有")
12.请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
figure=int(input("输入一个数:"))
if figure%2==0: #偶数
print("%d是偶数" % figure)
for i in range(1,figure+1):
if i%3==0:
print(i)
else:
print("%d是奇数" % figure)
for i in range(1,figure+1):
if i%5==0:
print(i)
13.输入三边的长度,求三角形的面积和周长(海伦公式)
海伦公式:S=√p(p-a)(p-b)(p-c)
a=float(input("输入a:"))
b=float(input("输入b:"))
c=float(input("输入c:"))
C=a+b+c
S=pow(C/2*(C/2-a)*(C/2-b)*(C/2-c),0.5)
print("三角形的周长为%f,面积为%f"%(C,S))
注:pow(n,m次方),n的m次方
14.某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
while True:
a = int(input("请输入购买T恤的数量(不买则输入0):"))
b = int(input("请输入购买裤子的数量(不买则输入0):"))
if a<=1 and b==0:
spell=a*35
print("小明应支付%f" % spell)
i=input("输入Y退出购买:")
if i=="Y":
break
elif a<=1 and b==1:
spell=a*0.9*35+120
print("小明应支付%f" % spell)
i = input("输入Y退出购买:")
if i == "Y":
break
elif a==2 and b==1:
spell=a*0.9*35+b*120
print("小明应支付%f" % spell)
i = input("输入Y退出购买:")
if i == "Y":
break
elif a==2 and b==0:
spell=a*0.9*35
print("小明应支付%f" % spell)
i = input("输入Y退出购买:")
if i == "Y":
break
elif a>=3 or b>=2:
spell=a*0.8*35+b*120*0.9
print("小明应支付%f" % spell)
i = input("输入Y退出购买:")
if i == "Y":
break
15.鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
for j in range(1,35): #鸡最多有35只,最少有1只
for t in range(0,23): #兔子最少0只,最多有23只
if (j+t==35 and ((2*j)+(4*t))==94):
print("鸡有%d只,兔有%d只"%(j,t))
16.猜数字游戏(使用random模块完成)
电脑随机一个范围内的数,用户输入数据判断,
如果数大了,提供”数大了“
成功之后,加上用户是否继续功能
import random
# 生成随机数
computer = random.randint(1, 100)
while True:
my = int(input("请输入您要猜的数:"))
if my == computer:
print("恭喜您,猜对了")
choice = input("您是否继续?结束请输入(n/N),按任意键继续:")
if choice == "N" or choice == "n":
break
else:
# 重新生成随机数
computer = random.randint(1, 100)
elif my > computer:
print("对不起,猜大了")
else:
print("对不起,猜小了")
print("GAME OVER!!!")
17.猜拳游戏:石头、剪刀、布的游戏
import random
while True:
computer = random.randint(1, 3)
user = int(input("请输入您要出的拳(1:石头、2:剪刀、3:布):"))
if user == computer:
print("平局")
elif (user == 1 and computer == 2) or (user == 2 and computer == 3) or (user == 3 and computer == 1):
print("你赢了")
else:
print("电脑赢了")
18.在控制台上,输入如下信息(使用循环)
a a^2 a^3
1 1 1
2 4 8
3 9 27
while True:
a=int(input("请输入数字a:"))
print("\t a\t\ta^2\t\t\ta^3")
for i in range(1,a+1):
print("\t",i,"\t\t",i**2,"\t\t\t",i**3)
19.输入一个年份,判断该年是否是闰年
year=int(input('输入年份:'))
if (year%4) == 0:
if (year % 100) == 0:
if (year % 400) == 0:
print("这一年是闰年")
else:
print("这一年不是闰年")
else:
print("这一年是闰年")
else:
print("这一年不是闰年")