python流程控制之应用题
作业2:判断一个数是否是质数(素数)
分析:
素数指的是除了一和自己本身以外没有其它因子的数
而一和它本身是一对因数,我们只需要判断该数从2遍历到根号该数是否有第二个因数,如果有则该数不是素数
x=int(input("请输入一个非零正整数,来判断该数是否为质数:"))
if x<=0:
print("输入有误,请输入非零正整数")
i=2
while i<=x**0.5:
if(x%i==0):
break
i+=1
if i<=x**0.5:#程序在中间过程结束,没有把所有值遍历完,也就是说除了1和自己本身以外还有一个数是这个数的因数
print("不是素数")
else:#程序遍历完,所有值都有遍历过,没有其他因数,是素数
print("是素数")
作业3:设计一个程序,完成(英雄)商品的购买(界面就是第一天打印的界面)
展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款
输入付款金额->打印购买小票(扩展)
while True:
s=input("""
英雄联盟商城首页
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
1. 进入英雄超市
2. 休闲小游戏
3. 退出登录
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
(温馨提示)请输入您的选项:
""")
if s=="1":
print("""
英雄商城英雄列表
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
编号 姓名 昵称 价格 库存 描述
1 纳尔 迷失之牙 3500 100 丛林不会原谅盲目与无知
2 锐雯 放逐之刃 4000 100 她是残忍高效的战士
3 薇恩 暗夜猎手 3500 100 这个世界不想人们想象的那么美好
4 扎克 生化魔人 3000 100 即使你没有脊柱,你也必须站起来
5 杰斯 未来守护者 2500 100 武装着睿智与魅力,你的选择没有错
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
(温馨提示)请输入您要购买的英雄编号:
""")
w=input("输入购买的英雄")
if w=='1':
e=3500
c='纳尔'
elif w=='2':
e=4000
c='锐雯'
elif w=='3':
e=3500
c='薇恩'
elif w=='4':
e=3000
c='扎克'
elif w=='5':
e=2500
c='杰斯'
else:
print("输入错误")
n=int(input("输入要购买的数目"))
m=int(input("请付款"))
print(f''' 英雄商城购买英雄
英雄购买票据
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
英雄名称:{c}
英雄价格:{e}
应付付款:{e*n}
实际付款:{m}
找零:{m-e*n}
插入广告:当风云变色,当流离失所,世界不再是旧日模样
你是否会为了自己的梦想战斗,直至力战身亡,直至彼岸他乡
~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~
(温馨提示)按任意键返回上一级菜单:
''')
elif s=="2":
print("暂无 等待开发")
elif s=="3":
print("已退出")
break
作业4:有一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几?
shi="6"
bai="3"
qian=0
i=0
while qian<=9:
ge=0
while ge<=9:
if int(str(qian)+bai+shi+str(ge))%2==0 and int(str(qian)+bai+shi+str(ge))%3==0:
if i==0:#由于这个数是递增的只需要打印第一个和最后一个就可以得出最大的和最小的
print(str(qian)+bai+shi+str(ge))#打印第一个
i+=1
ge+=1
qian+=1
print(str(qian-1)+bai+shi+str(ge-1))
#打印最后一个
作业5:编程求一个四位自然数ABCD,它乘以A后变成DCBA
for A in range(0,9):
for B in range(0,9):
for C in range(0,9):
for D in range(0,9):
if int(str(A)+str(B)+str(C)+str(D))*A==int(str(D)+str(C)+str(B)+str(A)):
print(str(D)+str(C)+str(B)+str(A))
作业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(a)
else:
print(b)
作业7:请输入一个数,判断这个数是偶数还是奇数,如果使用偶数,请判断从1到该数是3的倍数有哪些,如果是奇数,请判断从1到该数是5的倍数有哪些
a&1==0:是偶数否则是奇数
a=int(input("请输入一个数:"))
i=1
if(a&1==0):
while(i<=a):
if(i%3==0):
print(i)
i+=1
else:
while(i<=a):
if(i%5==0):
print(i)
i+=1
作业8:输入三边的长度,求三角形的面积和周长(海伦公式)
a=float(input("输入第一个边"))
b=float(input("输入第二个边"))
c=float(input("输入第三个边"))
p=(a+b+c)/2
s=(p*(p-a)*(p-b)*(p-c))**0.5
print(f"三角形面积是{s}")
作业9:某商店T恤的价格为35元/件(2件9折,3件以上8折),裤子的价格为120 元/条(2条以上9折).小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?
print('''
T恤:35元每件(三件以上八折)
裤子:120元每条(两条以上九折)
''')
t=3
kz=2
if(t>=2):
z=0.9
elif(t>=3):
z=0.8
if(kz>=2):
k=0.9
print(f"小明买了{t}件T恤{kz}件裤子总共要付:{t*35*z+kz*120*k}")
作业10:鸡兔同笼,从上面看有35个头,从下面看有94只脚,请问鸡有几只,兔有几只?
从上面看有35个头假设全是鸡应该有七十只脚还剩余24只脚也就是说兔有六只才可以补全
i=6
while(i<=35):
i+=1
if(i*4+2*(35-i)==94):
print(f"有{i}只兔子,{35-i}只鸡")
break
作业11:猜数字游戏(使用random模块完成)
电脑随机一个范围内的数,用户输入数据判断,
如果数大了,提供”数大了“
成功之后,加上用户是否继续功能
import random
ans=random.randint(1,101)
while True:
gs=int(input("请输入你猜的数:"))
if(gs>ans):
print("猜大了")
elif(gs<ans):
print("猜小了")
else:
print("猜对了")
p=input("是否继续游戏继续输入y")
if(p=="y"):
ans=random.randint(1,101)
else:
break
作业12:猜拳游戏:石头、剪刀、布的游戏
import random
s=input("开始猜拳,请输入石头,剪刀,或者布")
c=random.randint(0,3)
if c==0:
p="石头"
elif c==1:
p="剪刀"
elif c==2:
p="布"
print(p)
if(p=="石头"):
if(s==p):
print(f"电脑{p} 用户{s}平局")
elif(s=="剪刀"):
print(f"电脑{p} 用户{s}电脑赢")
elif(s=="布"):
print(f"电脑{p} 用户{s}用户赢")
if(p=="布"):
if(s==p):
print(f"电脑{p} 用户{s}平局")
elif(s=="剪刀"):
print(f"电脑{p} 用户{s}用户赢")
elif(s=="石头"):
print(f"电脑{p} 用户{s}电脑赢")
if(p=="剪刀"):
if(s==p):
print(f"电脑{p} 用户{s}平局")
elif(s=="石头"):
print(f"电脑{p} 用户{s}用户赢")
elif(s=="布"):
print(f"电脑{p} 用户{s}电脑赢")