笔记
根据要求写公式
import math
人力计算
def estimated_number(size,time):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
调用人力计算函数
estimated_number(1,60)
import math
def estimated(types,size,other):
# 人力计算
if types == 1:
number = math.ceil(size * 80 / other)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,other,number))
# 工时计算
elif types == 2:
time = size * 80 / other
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,other,time))
estimated(1, 1.5, 2)
# 结果:项目大小为1.5个标准项目,如果需要在2.0个工时完成,则需要人力数量为:60人
estimated(2, 1.5, 2)
# 结果:项目大小为1.5个标准项目,使用2个人力完成,则需要工时数量为:60.0个
v
import math
def estimated(size=1,number=None,time=None):
if (number == None) and (time != None):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
elif (number != None) and (time == None):
time = size * 80 / number
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))
'请选择计算类型:(1-人力计算,2-工时计算)'
'请输入项目大小:(1代表标准大小,可以输入小数)'
'请输入人力数量:(请输入整数)'
'请输入工时数量:(请输入小数)'
define
run
ai:
import math
def estimated_number(size, time):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' % (size, time, number))
def again():
while True:
user_input = input("是否继续计算?输入y继续,输入n结束:")
if user_input.lower() == 'y':
return True
elif user_input.lower() == 'n':
return False
else:
print("输入错误,请重新输入。")
while True:
size = float(input("请输入项目大小(以标准项目为单位):"))
time = float(input("请输入完成项目所需的工时数:"))
estimated_number(size, time)
if not again():
break
请直接运行并体验代码
import math
变量key代表循环运行程序的开关
key = 1
采集信息的函数
def myinput():
choice = input('请选择计算类型:(1-工时计算,2-人力计算)')
if choice == '1':
size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
number = int(input('请输入人力数量:(请输入整数)'))
time = None
return size,number,time
# 这里返回的数据是一个元组
if choice == '2':
size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
number = None
time = float(input('请输入工时数量:(请输入小数)'))
return size,number,time
# 这里返回的是一个元组
完成计算的函数
def estimated(my_input):
# 把元组中的数据取出来
size = my_input[0]
number = my_input[1]
time = my_input[2]
# 人力计算
if (number == None) and (time != None):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
# 工时计算
elif (number != None) and (time == None):
time = size * 80 / number
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))
询问是否继续的函数
def again():
# 声明全局变量key,以便修改该变量
global key
a = input('是否继续计算?继续请输入y,输入其他键将结束程序。')
if a != 'y':
# 如果用户不输入'y',则把key赋值为0
key = 0
主函数
def main():
print('欢迎使用工作量计算小程序!')
while key == 1:
my_input = myinput()
estimated(my_input)
again()
print('感谢使用工作量计算小程序!')
main()
内容
2 练习 - 和电脑玩石头剪刀布明确项目目标
分析过程,拆解项目
逐步执行,代码实现
版本1.0:能用就好
版本2.0:稍作改良
已完成课堂练习
重做 分享 main.py 1 import math 2 3 # 人力计算 4 def estimated_number(size,time): 5 if (size * 80 % time) != 0: 6 number = int(size * 80 / time) + 1 7 else: 8 number = size * 80 / time 9 print(‘项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人’ %(size,time,number)) 10 11 # 调用人力计算函数 12 estimated_number(1,60) 终端单选题
请选出你觉得对这个问题最有帮助的知识:A.
条件判断语句B.
循环语句C.
字符串拼接D.
参数传递答案是A
已完成课堂练习
重做 分享 main.py 1 import math 2 3 # 为函数设置了三个参数,并都带有默认参数 4 def estimated(size=1,number=None,time=None): 5 # 人力计算:如果参数中填了时间,没填人数,就计算人力 6 if (number == None) and (time != None): 7 number = math.ceil(size * 80 / time) 8 print(‘项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人’ %(size,time,number)) 9 # 工时计算:如果参数中填了人数,没填时间,就计算工时 10 elif (number != None) and (time == None): 11 time = size * 80 / number 12 print(‘项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个’ %(size,number,time)) 13 14 # 调用函数的时候,传递两个参数,会自动计算出第三个参数 15 estimated(size=1.5,number=2) 16 estimated(size=0.5,time=20.0) 终端单选题
我来考考你。调用函数estimated(time=70.0),输出的结果将是多少?A.
1B.
2C.
11D.
报错答案是B
版本3.0:精细打磨
单选题
接下来,你是想独立完成这个任务,还是想跟随我完成这个任务?A.
我想独立尝试(推荐)B.
我想跟随完成已跳过课堂练习
重做 分享 main.py 1 import math 2 3 def estimated(size=1,number=None,time=None): 4 if (number == None) and (time != None): 5 number = math.ceil(size * 80 / time) 6 print(‘项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人’ %(size,time,number)) 7 elif (number != None) and (time == None): 8 time = size * 80 / number 9 print(‘项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个’ %(size,number,time)) 10 11 choice = input(‘请选择计算类型:(1-人力计算,2-工时计算)’) 12 if choice == ‘1’: 13 size = float(input(‘请输入项目大小:(1代表标准大小,可以输入小数)’)) 14 number = int(input(‘请输入人力数量:(请输入整数)’)) 15 time = None 16 estimated(size,number,time) 17 elif choice == ‘2’: 18 size = float(input(‘请输入项目大小:(1代表标准大小,可以输入小数)’)) 终端已完成课堂练习
重做 分享 main.py 1 # 直接运行体验代码即可 2 3 import math 4 5 def estimated(size=1,number=None,time=None): 6 if (number == None) and (time != None): 7 number = math.ceil(size * 80 / time) 8 print(‘项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人’ %(size,time,number)) 9 elif (number != None) and (time == None): 10 time = size * 80 / number 11 print(‘项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个’ %(size,number,time)) 12 13 choice = input(‘请选择计算类型:(1-人力计算,2-工时计算)’) 14 if choice == ‘2’: 15 size = float(input(‘请输入项目大小:(1代表标准大小,可以输入小数)’)) 16 number = int(input(‘请输入人力数量:(请输入整数)’)) 17 time = None 18 estimated(size,number,time) 终端已完成课堂练习
重做 分享 main.py 1 # 先将下面的代码改造成两个子函数和一个主函数,并调用主函数。 2 3 import math 4 5 def estimated(size=1,number=None,time=None): 6 if (number == None) and (time != None): 7 number = math.ceil(size * 80 / time) 8 print(‘项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人’ %(size,time,number)) 9 elif (number != None) and (time == None): 10 time = size * 80 / number 11 print(‘项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个’ %(size,number,time)) 12 13 choice = input(‘请选择计算类型:(1-人力计算,2-工时计算)’) 14 if choice == ‘2’: 15 size = float(input(‘请输入项目大小:(1代表标准大小,可以输入小数)’)) 16 number = int(input(‘请输入人力数量:(请输入整数)’)) 17 time = None 18 estimated(size,number,time) 终端已完成课堂练习
重做 分享 main.py 1 # 请直接运行体验的代码 2 import math 3 4 # 采集信息的函数 5 def myinput(): 6 choice = input(‘请选择计算类型:(1-工时计算,2-人力计算)’) 7 if choice == ‘1’: 8 size = float(input(‘请输入项目大小:(1代表标准大小,请输入小数)’)) 9 number = int(input(‘请输入人力数量:(请输入整数)’)) 10 time = None 11 return size,number,time 12 # 这里返回的数据是一个元组 13 if choice == ‘2’: 14 size = float(input(‘请输入项目大小:(1代表标准大小,请输入小数)’)) 15 number = None 16 time = float(input(‘请输入工时数量:(请输入小数)’)) 17 return size,number,time 18 # 这里返回的是一个元组 终端已完成课堂练习
重做 分享 main.py 1 import math 2 3 def myinput(): 4 choice = input(‘请选择计算类型:(1-人力计算,2-工时计算)’) 5 if choice == ‘1’: 6 size = float(input(‘请输入项目大小:(1代表标准大小,请输入小数)’)) 7 number = None 8 time = float(input(‘请输入工时数量:(请输入小数)’)) 9 return size,number,time 10 elif choice == ‘2’: 11 size = float(input(‘请输入项目大小:(1代表标准大小,请输入小数)’)) 12 number = int(input(‘请输入人力数量:(请输入整数)’)) 13 time = None 14 return size,number,time 15 16 def estimated(my_input): 17 size = my_input[0] 18 number = my_input[1] 终端已完成课堂练习
重做 分享 main.py 1 # 请直接运行并体验代码 2 3 import math 4 5 # 变量key代表循环运行程序的开关 6 key = 1 7 8 # 采集信息的函数 9 def myinput(): 10 choice = input(‘请选择计算类型:(1-工时计算,2-人力计算)’) 11 if choice == ‘1’: 12 size = float(input(‘请输入项目大小:(1代表标准大小,请输入小数)’)) 13 number = int(input(‘请输入人力数量:(请输入整数)’)) 14 time = None 15 return size,number,time 16 # 这里返回的数据是一个元组 17 if choice == ‘2’: 18 size = float(input(‘请输入项目大小:(1代表标准大小,请输入小数)’)) 终端
# 工时计算公式
size = 1.5
number = 2
time = size * 80 / number
# 人力计算公式
size = 0.5
time = 20.0
number = size * 80 / time
# 工时计算
def estimated_time(size,number):
……(计算过程)
# 人力计算
def estimated_number(size,time):
……(计算过程)
estimated_time(参数1,参数2)
estimated_number(参数1,参数2)
# 工时计算公式
time = size * 80 / number
# 人力计算公式
number = size * 80 / time
# 工作量计算函数
def estimated(参数……):
……
# 调用工作量计算函数
estimated(参数……)
# 工作量计算函数
def estimated(参数……):
if 条件1:
……(人力计算)
elif 条件2:
……(工时计算)
# 调用工作量计算函数
estimated(参数……)
import math
# 为函数设置了三个参数,并都带有默认参数)
def estimated(size=1,number=None,time=None):
# 人力计算:如果参数中填了时间,没填人数,就计算人力
if (number == None) and (time != None):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
# 工时计算:如果参数中填了人数,没填时间,就计算工时
elif (number != None) and (time == None):
time = size * 80 / number
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))
# 调用函数的时候,传递两个参数,会自动计算出第三个参数
estimated(size=1.5,number=2)
estimated(size=0.5,time=20.0)
import math
def estimated(types,size,other):
# 人力计算
if types == 1:
number = math.ceil(size * 80 / other)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,other,number))
# 工时计算
elif types == 2:
time = size * 80 / other
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,other,time))
estimated(1, 1.5, 2)
# 结果:项目大小为1.5个标准项目,如果需要在2.0个工时完成,则需要人力数量为:60人
estimated(2, 1.5, 2)
# 结果:项目大小为1.5个标准项目,使用2个人力完成,则需要工时数量为:60.0个
import math
def estimated(size=1,number=None,time=None):
if (number == None) and (time != None):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
elif (number != None) and (time == None):
time = size * 80 / number
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))
'请选择计算类型:(1-人力计算,2-工时计算)'
'请输入项目大小:(1代表标准大小,可以输入小数)'
'请输入人力数量:(请输入整数)'
'请输入工时数量:(请输入小数)'
def div(num1, num2):
growth = (num1 - num2) / num2
percent = str(growth * 100) + '%'
return percent
def warning():
print('Error: 你确定上个月一毛钱都不赚不亏吗?')
def main():
while True:
num1 = float(input('请输入本月所获利润'))
num2 = float(input('请输入上月所获利润'))
if num2 == 0:
warning()
continue
else:
print('本月的利润增长率:' + div(num1,num2))
break
main()
import math
# 采集信息的函数
def myinput():
choice = input('请选择计算类型:(1-工时计算,2-人力计算)')
if choice == '1':
size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
number = int(input('请输入人力数量:(请输入整数)'))
time = None
return size,number,time
# 这里返回的数据是一个元组
if choice == '2':
size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
number = None
time = float(input('请输入工时数量:(请输入小数)'))
return size,number,time
# 这里返回的是一个元组
# 完成计算的函数
def estimated(my_input):
# 把元组中的数据取出来
size = my_input[0]
number = my_input[1]
time = my_input[2]
# 人力计算
if (number == None) and (time != None):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
# 工时计算
elif (number != None) and (time == None):
time = size * 80 / number
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))
# 主函数
def main():
my_input = myinput()
estimated(my_input)
# 调用主函数
main()
import math
# 变量key代表循环运行程序的开关
key = 1
# 采集信息的函数
def myinput():
choice = input('请选择计算类型:(1-工时计算,2-人力计算)')
if choice == '1':
size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
number = int(input('请输入人力数量:(请输入整数)'))
time = None
return size,number,time
# 这里返回的数据是一个元组
if choice == '2':
size = float(input('请输入项目大小:(1代表标准大小,请输入小数)'))
number = None
time = float(input('请输入工时数量:(请输入小数)'))
return size,number,time
# 这里返回的是一个元组
# 完成计算的函数
def estimated(my_input):
# 把元组中的数据取出来
size = my_input[0]
number = my_input[1]
time = my_input[2]
# 人力计算
if (number == None) and (time != None):
number = math.ceil(size * 80 / time)
print('项目大小为%.1f个标准项目,如果需要在%.1f个工时完成,则需要人力数量为:%d人' %(size,time,number))
# 工时计算
elif (number != None) and (time == None):
time = size * 80 / number
print('项目大小为%.1f个标准项目,使用%d个人力完成,则需要工时数量为:%.1f个' %(size,number,time))
# 询问是否继续的函数
def again():
# 声明全局变量key,以便修改该变量
global key
a = input('是否继续计算?继续请输入y,输入其他键将结束程序。')
if a != 'y':
# 如果用户不输入'y',则把key赋值为0
key = 0
# 主函数
def main():
print('欢迎使用工作量计算小程序!')
while key == 1:
my_input = myinput()
estimated(my_input)
again()
print('感谢使用工作量计算小程序!')
main()