python 练习小项目
- 熟悉python的输入输出
- 帮海豹买鱼
- 帮海豹算鳕鱼面积
- 帮海豹判断闰年
- 熟悉使用分支结构
- 帮助海豹开展寄存业务
- 帮海豹开展货币兑换业务
- 帮海豹开展成绩等级转换业务
- 海豹算三条边能否构建成三角形
- 循环结构
- 海豹打印1-100
- 海豹打印偶数
- 海豹猜数游戏
- 帮助海豹求解两个数的最大公约数和最小公倍数
- 解决实际问题
- 帮助海豹寻找1-1000之间的水仙花数
- 帮海豹找出1-1000之间的完美数
- 帮海豹解决鸡兔同笼问题
- 帮海豹生成1-1000之间的斐波拉切数列
- 和海豹玩21点
熟悉python的输入输出
帮海豹买鱼
'''
海豹买鱼问题
输入买鱼的种类和条数 替海豹计算出总价 sumPrice = typeAFishPrice*typeAFishNum + typeBFishPrice*typeBFishNum
Version: 0.1
Author: 快写一首情歌
'''
typeAFishPrice = float(input('请输入比目鱼价格:'))
typeBFishPrice = float(input('请输入鳕鱼价格:'))
typeAFishNum = float(input('请输入比目鱼数目:'))
typeBFishNum = float(input('请输入鳕鱼数目:'))
sumPrice = typeAFishPrice*typeAFishNum + typeBFishPrice*typeBFishNum
print ('海豹今天买鱼花了:%.1f的海豹币呢'%sumPrice)
帮海豹算鳕鱼面积
'''
海豹算鳕鱼面积问题
假定鳕鱼是一个规则的正方形,现在海豹知道了一条边的长度,请你帮海豹算出鳕鱼所占地表的面积
squareArea = squareLength ** 2
Version: 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分以下 --> E
Version: 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)/2
area = 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 randint
count = 0
numAnswer = randint(0,500)
while True:
if count>9:
print("you are loser")
print("随机的数字是:",numAnswer)
break
num = float(input("请输入答案:"))
if num >numAnswer:
print("输入数字较大")
elif num < numAnswer:
print("输入数字较小")
else:
print("输入正确")
break
count += 1
帮助海豹求解两个数的最大公约数和最小公倍数
'''
给定两个数 帮助海豹求出他们的最大公约数和最小公倍数
Version: 0.1
Author: 快写一首情歌
'''
numA = int(input("A = "))
numB = int(input("B = "))
if numA > numB:
numA,numB = numB,numA
for tmpNum in range(numA,0,-1):
if 0 == numA%tmpNum and 0 == numB%tmpNum:
print(numA,"和",numB,"的最大公约数为",tmpNum)
print(numA,"和",numB,"的最小公倍数为",numA*numB//tmpNum)
#//整除
# /浮点除
break
解决实际问题
帮助海豹寻找1-1000之间的水仙花数
'''
帮助海豹找出1-1000之间的水仙花数
Version: 0.1
Author: 快写一首情歌
'''
for Num in range(0,1001):
if((Num%10)**3+(Num//10%10)**3+(Num//100)**3) == Num:
print(Num)
帮海豹找出1-1000之间的完美数
'''
帮助海豹找出1-1000之间的完美数
Version: 0.1
Author: 快写一首情歌
'''
import math
for num in range(1, 10000):
sum = 0
for factor in range(1, int(math.sqrt(num)) + 1):
if 0 == num % factor :
sum += factor
if 1 < factor and num / factor != factor:
sum += num / factor
if 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 = 1
while True:
numA,numB = numB,numA+numB
if numA < 1000:
print(numA)
else:
break
和海豹玩21点
'''
陪海豹玩21点(毫无尊严的21点)
Version: 0.1
Author: 快写一首情歌
'''
from random import randint
sumPlayerPoker = randint(1,13)
print("你的底牌是:", sumPlayerPoker)
while True:
isNeed = input("是否需要加牌(是/否)(Y/N):")
if '是' == isNeed or 'Y' == isNeed:
tmpPlayerPoker = randint(1,13)
sumPlayerPoker += tmpPlayerPoker
print("你获得的牌的大小是%d,你的总点数为%d" %(tmpPlayerPoker,sumPlayerPoker))
if sumPlayerPoker>21:
print("你的总点数超过21 被海豹锤爆了狗头")
print("海豹的点数是:1")
break
elif '否' == isNeed or 'N' == isNeed:
if sumPlayerPoker == 21:
print("海豹的点数是:",randint(1,20))
print("海豹被你锤爆了豹头,并且为你献上了原地撸豹服务")
else:
print("海豹的点数是:",sumPlayerPoker+1)
print("还想赢豹豹,你怕不是失了智/滑稽")
break
else:
print("非法输入")