python 练习小项目
- 熟悉python的输入输出
-
- 熟悉使用分支结构
-
- 帮助海豹开展寄存业务
- 帮海豹开展货币兑换业务
- 帮海豹开展成绩等级转换业务
- 海豹算三条边能否构建成三角形
- 循环结构
-
- 海豹打印1-100
- 海豹打印偶数
- 海豹猜数游戏
- 帮助海豹求解两个数的最大公约数和最小公倍数
- 解决实际问题
-
- 帮助海豹寻找1-1000之间的水仙花数
- 帮海豹找出1-1000之间的完美数
- 帮海豹解决鸡兔同笼问题
- 帮海豹生成1-1000之间的斐波拉切数列
- 和海豹玩21点
熟悉python的输入输出
帮海豹买鱼
'''
海豹买鱼问题
输入买鱼的种类和条数 替海豹计算出总价 sumPrice = typeAFishPrice*typeAFishNum + typeBFishPrice*typeBFishNumVersion: 0.1
Author: 快写一首情歌
'''typeAFishPrice = float(input('请输入比目鱼价格:'))
typeBFishPrice = float(input('请输入鳕鱼价格:'))
typeAFishNum = float(input('请输入比目鱼数目:'))
typeBFishNum = float(input('请输入鳕鱼数目:'))sumPrice = typeAFishPrice*typeAFishNum + typeBFishPrice*typeBFishNumprint ('海豹今天买鱼花了:%.1f的海豹币呢'%sumPrice)
帮海豹算鳕鱼面积
'''
海豹算鳕鱼面积问题
假定鳕鱼是一个规则的正方形,现在海豹知道了一条边的长度,请你帮海豹算出鳕鱼所占地表的面积
squareArea = squareLength ** 2Version: 0.1
Author: 快写一首情歌
'''
squareLength = float(input("请输入鳕鱼边长:"))
squareArea = squareLength**2
print("鳕鱼的占地"+"面积为:",squareArea)
帮海豹判断闰年
'''
帮海豹判断闰年
可爱的海豹想知道现在所处的年份是不是闰年,你能帮帮他吗Version: 0.1
Author: 快写一首情歌
'''
year = int(input("那么海豹想知道是不是闰年的年份是多少呢?"))
isLeap = ((0 == year%4 and 0 !=year%100)or 0 == year%400)
print (isLeap)
熟悉使用分支结构
帮助海豹开展寄存业务
'''
帮海豹开展寄存业务
海豹近期购买了一批带有十位密码密码锁的箱子 开展了寄存服务
A存储了一个小纸条在盒子里,除了A以及A告诉密码的人和可恶的爆破爱好者没有人可以打开
海豹希望用python模拟出这个过程 请你帮帮它
(不讨论 明文存储密码等问题~ 单纯举例分支语句)Version: 0.1
Author: 快写一首情歌
'''
import getpass
#隐藏输入密码(不显示) 并且在pycharm IDE中不能正常运行 在终端中可以正常运行
strDepositA = "叶公好海豹 格陵兰尤甚"
aPasswd = "2878129435"depositorName = input("你想打开谁存储的箱子:")if 'A' == depositorName:passwd = getpass.getpass("那请你输入他设置的密码哦:")#获取密码 打印的字符显示 输入的密码不显示if aPasswd == passwd:print(strDepositA)else:print("密码错误哦")
else:print ("此人尚未开启寄存业务哦")
帮海豹开展货币兑换业务
'''
帮海豹开展兑换货币业务
海豹币和火豹币的兑换比例为 1:2 在海豹这里兑换货币要收千分之五手续费
请帮海豹计算出对方应得货币数目 实得货币数目 和海豹赚取的手续费分别是多少
Version: 0.1
Author: 快写一首情歌
'''
unit = input("请输入货币种类海豹币(WB)/火豹币(FB)")
currency = float(input("请输入货币数目"))if 'WB' == unit or "海豹币"==unit:print("%f海豹币 = %f火豹币,手续费为%f海豹币"%(currency,currency*2,currency*0.005))
elif 'FB' == unit or "火豹币"==unit:print("%f火豹币 = %f海豹币,手续费为%f海豹币"%(currency,currency*0.5,currency*0.5*0.005))
else:print ("请输入有效的货币种类")
帮海豹开展成绩等级转换业务
'''
帮海豹开展成绩分数和等级转换的业务
海豹在系统上为自己的学生打分,已知分数并存储在电脑上,请帮海豹写一个程序来帮分数给出对应的等级
百分制成绩转等级制成绩
90分以上 --> A
80分~89分--> B
70分~79分--> C
60分~69分--> D
60分以下 --> EVersion: 0.1
Author: 快写一首情歌
'''
from random import randint
#生成指定范围的随机数scores = randint(0,100)
level ="尚未存在等级"
#随机生成一个1-100的数字代表一个同学分数
if 90<scores:level = "A"
elif 80<scores:level = "B"
elif 70<scores:level ="C"
elif 60<scores:level ="D"
elif 0<scores:level ="E"
else:level = "输入成绩不在范围之内"
print("学生成绩为%d"%(scores)+"学生等级为%s"%(level))
海豹算三条边能否构建成三角形
'''
给出三条边长,如果给出的数据可以构成一个三角形,请帮海豹计算三角形面积和周长Version: 0.1
Author: 快写一首情歌
'''
import math
#数学库 使用sqrt计算平方根lengthSideA = float(input("请输入第一条边的长度"))
lengthSideB = float(input("请输入第二条边的长度"))
lengthSideC = float(input("请输入第三条边的长度"))if lengthSideA+lengthSideB >lengthSideC and \lengthSideA+lengthSideC>lengthSideB and\lengthSideB+lengthSideC>lengthSideA:print("周长为%f"%(lengthSideA+lengthSideB+lengthSideC))halfPerimeter = (lengthSideA+lengthSideB+lengthSideC)/2area = math.sqrt(halfPerimeter*(halfPerimeter-lengthSideA)*(halfPerimeter-lengthSideB)*(halfPerimeter-lengthSideC))print("面积为",area)
else:print("输入参数不能构成三角形")
循环结构
海豹打印1-100
'''
请帮海豹在屏幕上打印1-100连续的这些数字 Version: 0.1
Author: 快写一首情歌
'''for i in range(101):print(i)
海豹打印偶数
'''
请帮海豹在屏幕上打印1-100连续的这些数字中的偶数 Version: 0.1
Author: 快写一首情歌
'''
for i in range(2,101,2):print(i)
# range(n) 产生了0到n-1
# range(1,n)产生1到n-1
# range(1,n,6)产生1到n-1 每一次数字增加6(步长)
海豹猜数游戏
'''
和海豹一起玩猜数字游戏 海豹随机想出一个(0-500)间的数字 给你10次机会 你能猜中吗Version: 0.1
Author: 快写一首情歌
'''
from random import randintcount = 0
numAnswer = randint(0,500)
while True:if count>9:print("you are loser")print("随机的数字是:",numAnswer)breaknum = float(input("请输入答案:"))if num >numAnswer:print("输入数字较大")elif num < numAnswer:print("输入数字较小")else:print("输入正确")breakcount += 1
帮助海豹求解两个数的最大公约数和最小公倍数
'''
给定两个数 帮助海豹求出他们的最大公约数和最小公倍数Version: 0.1
Author: 快写一首情歌
'''numA = int(input("A = "))
numB = int(input("B = "))if numA > numB:numA,numB = numB,numAfor tmpNum in range(numA,0,-1):if 0 == numA%tmpNum and 0 == numB%tmpNum:print(numA,"和",numB,"的最大公约数为",tmpNum)print(numA,"和",numB,"的最小公倍数为",numA*numB## /浮点除break
解决实际问题
帮助海豹寻找1-1000之间的水仙花数
'''
帮助海豹找出1-1000之间的水仙花数Version: 0.1
Author: 快写一首情歌
'''
for Num in range(0,1001):if((Num%10)**3+(Numprint(Num)
帮海豹找出1-1000之间的完美数
'''
帮助海豹找出1-1000之间的完美数Version: 0.1
Author: 快写一首情歌
'''
import mathfor num in range(1, 10000):sum = 0for factor in range(1, int(math.sqrt(num)) + 1):if 0 == num % factor :sum += factorif 1 < factor and num / factor != factor:sum += num / factorif sum == num:print(num)
帮海豹解决鸡兔同笼问题
'''
帮助海豹解决鸡兔同笼问题 已知头数和足数 求解鸡兔的个数Version: 0.1
Author: 快写一首情歌
'''
headNum = int(input("所呈现的头的个数"))
legNum = int(input("所呈现出的足的个数"))
extraleg = legNum -headNum*2
rabbitNum = extraleg/2
print("兔子的数量是:",int(rabbitNum))
print("鸡的数量是",int(headNum-rabbitNum))
帮海豹生成1-1000之间的斐波拉切数列
'''
帮海豹生成1-1000的斐波拉且=切数列
Version: 0.1
Author: 快写一首情歌
'''
numA = 0
numB = 1while True:numA,numB = numB,numA+numBif numA < 1000:print(numA)else:break
和海豹玩21点
'''
陪海豹玩21点(毫无尊严的21点)
Version: 0.1
Author: 快写一首情歌
'''
from random import randintsumPlayerPoker = randint(1,13)
print("你的底牌是:", sumPlayerPoker)while True:isNeed = input("是否需要加牌(是/否)(Y/N):")if '是' == isNeed or 'Y' == isNeed:tmpPlayerPoker = randint(1,13)sumPlayerPoker += tmpPlayerPokerprint("你获得的牌的大小是%d,你的总点数为%d" %(tmpPlayerPoker,sumPlayerPoker))if sumPlayerPoker>21:print("你的总点数超过21 被海豹锤爆了狗头")print("海豹的点数是:1")breakelif '否' == isNeed or 'N' == isNeed:if sumPlayerPoker == 21:print("海豹的点数是:",randint(1,20))print("海豹被你锤爆了豹头,并且为你献上了原地撸豹服务")else:print("海豹的点数是:",sumPlayerPoker+1)print("还想赢豹豹,你怕不是失了智/滑稽")breakelse:print("非法输入")