分别将各个python.py文件中的功能模块引入到主文件中运行,即在一个文件中可调用其他文件,从而实现多个功能的汇总。
下边代码说明:分别在三个.py文件中写体重计算器、猜数字游戏、出租车价钱计算器的功能模块类,写完毕之后将其引入主文件中
总文件名称:total_page.py
from bmi_class import BMI
from guess_figure import Guess_Num
from calc_tax import Tax_Calc
while 1:
print('***********************************')
print('1.体重计算器')
print('2.猜数字游戏')
print('3.出租车价钱计算器')
print('0.退出')
print('***********************************')
num = int(input('请输入您的选择(按0退出):'))
while num not in range(0, 4):
num = int(input('选择无效,请重新选择(按0退出):'))
if num==1:
bmi = BMI()
bmi.bmi()
elif num==2:
num=Guess_Num()
num.guess()
elif num==3:
tax = Tax_Calc()
tax.calc()
else:
break
体重计算器模块文件名称:bmi_class.py
class BMI(object):
def __init__(self):
pass
def bmi(self):
while 1:
#声明变量 身高、体重
height=input('请输入您的身高(m):')
weight=input('请输入您的体重(kg):')
#如果输入的身高或者体重有一个为0,直接结束循环
#or 或的关系 关键字,多个条件时,只要有一个条件成立即可执行代码块
#将输入的身高 体重 转换为小数float类型
if height=='0'or weight=='0':
print('您输入的数据有误,程序已结束!')
break
#and 与的关系 关键字 多个条件时,条件必须同时成立才行
if height=='1.8'and weight=='70':
print('微信扫一扫吧')
#not 表示非得关系
height=float(height)
weight=float(weight)
bmi=weight/(height*height)
print(bmi)
if bmi<18.5:
print('体重过轻...')
elif 18.5<=bmi<=23.9:
print('标准身材')
elif 24<=bmi<=27:
print('过重!')
elif 28<=bmi<=32:
print('大胖子')
else:
print('超级无敌大胖子')
# __name__ 值为 __main__ 表示是从当前文件直接运行的
# __name__ 值为 当前文件名称 表示别的文件引用执行的
# 如果是从当前文件直接运行的,执行以下的代码
if __name__ == '__main__':
#创建对象
bmi=BMI()
bmi.bmi()
猜数字模块文件名称:guess_figure.py
'''
猜数字游戏
注:每局游戏最多只能猜五次,超过则自动退出
1.随机产生一个0~100(包含0和100)的整数
2.在while循环中:
2.1 输入一个0~100的整数,input输入的是字符串
2.2 转换为整数类型
2.3 和正确的答案数字做对比
2.3.1 猜测数字 大于 正确答案 输出猜大了
2.3.2 猜测数字 小于 正确答案 输出猜小了
2.3.3 猜测数字 等于 正确答案 输出猜对了 退出程序
'''
#使用到python中内置的random模块
#引入random模块
import random
class Guess_Num(object):
def __init__(self):
pass
def guess(self):
#随机生成一个0~100的整数,作为正确答案 包含0和100
number=random.randint(0,100)
#定义控制猜测次数的变量
count=0
#在while循环中写代码
while 1:
#输入一个0~100的整数,input输入的时字符串
guess_number=input('请输入一个数字(0~100):')
#将输入的字符串转换成整数类型
guess_number=int(guess_number)
#只要输入的数字不在0~100的范围,请重新输入
while guess_number<0 or guess_number>100:
#重新输入
guess_number=input('输入的数字不在范围,请重新输入:')
#转换为整数类型
guess_number=int(guess_number)
#和正确的答案数字做对比
if guess_number<number:
print('您猜小了!')
elif guess_number>number:
print('您猜大了!')
else:
print('恭喜您,猜对了!')
#如果猜对了,给两个选项,1.继续玩 2.退出
print('0.退出')
print('1.继续玩')
#输入一个选项
num=input('请输入您的选择:')
num=int(num)
while num not in range(0,2):
num=input('您的选择不合法,请重新选择(0退出):')
num=int(num)
#继续玩
if num==1:
#重置正确答案
number = random.randint(0, 100)
#猜测次数归零
count=0
#跳过当前次的循环,直接执行下一次的循环
continue
else:
#结束循环 退出程序
break
count += 1
if count ==5:
print('您的猜测次数大于5次,游戏失败!')
break
# __name__ 值为 __main__ 表示是从当前文件直接运行的
# __name__ 值为 当前文件名称 表示别的文件引用执行的
# 如果是从当前文件直接运行的,执行以下的代码
if __name__ == '__main__':
num=Guess_Num()
num.guess()
出租车计算器功能模块文件名称:calc_tax.py
'''
1.输入一个公里数
2.将公里数转换为float类型
3.根据不同的公里数计算需要的车费
3.1起步价9元 包含2公里
3.2超出2公里至12公里的部分 按每公里1.2计算
3.3超出12公里的部分按每公里1.5计算
'''
class Tax_Calc(object):
def __init__(self):
pass
def calc(self):
while 1:
#快速多行缩进,可以选中需要缩进的行,按Tab键
#1.输入一个公里数
kilo=input('请输入一个公里数(km,输入0结束):')
#2.将公里数转换为float类型
kilo=float(kilo)
#如果kilo的值为0,结束循环
if kilo == 0:
print('欢迎下次使用!Bye bye!')
break
#3.根据不同的公里数计算需要的车费
elif kilo<=2:
print('起步价,8元')
elif kilo<=12:
price=8+(kilo-2)*1.2
#占位符 %f 专门用来给float类型的数据做占位的
#%.2f,保留小数点后两位
print('共行驶%.2f千米,共%.2f元'%(kilo,price))
else:
price=20+(kilo-12)*1.5
print('共行驶%.2f千米,共%.2f元' % (kilo, price))
# __name__ 值为 __main__ 表示是从当前文件直接运行的
# __name__ 值为 当前文件名称 表示别的文件引用执行的
# 如果是从当前文件直接运行的,执行以下的代码
if __name__ == '__main__':
tax=Tax_Calc()
tax.calc()