【发布时间】:2017-04-13 17:35:21
【问题描述】:
我正在尝试制作一个潜水表,其中的一些数字不是我可以看到的模式,因此我必须手动添加所有值,但我需要获取输入并将其四舍五入到最接近的值字典中的数字。
我需要将输入转换回字符串以确保输出正确:
代码:
class DepthTable:
def __init__(self):
self.d35 = {"10": "A",
"19": "B",
"25": "C",
"29": "D",
"32": "E",
"36": "F",
}
def getpressureGroup(self, depth, time):
if depth == "35":
output = self.d35[time]
else:
output = "No info for that depth"
print(output)
if __name__ == "__main__":
depthtable = DepthTable()
print("Please enter Depth (Use numbers!)")
depth = input()
print("Please Enter time!")
time = input()
depthtable.getpressureGroup(depth,time)
因此,当“玩家”输入数字 15 时,我需要将其向上舍入到 19(即使是 13 或类似的值也始终向上。)我不知道如何使用 round( ) 或者我可能必须创建一个检查每个数字的函数..
【问题讨论】:
-
为什么不在 if 循环下和变量输出下,使用 if 来检查数字是否大于某个数字且小于某个其他数字,因此 15 的情况将大于 10 或如果满足这些条件,则小于 19 将时间更改为等于 19?这有意义吗?
-
好吧,我的意思是这样的东西会成为一个大代码,实际的潜水表有 A-Z,每个都有 20 个时间戳..
-
所以问题是您需要将每个数字推到至少与该数字一样大的最小值?
-
我不太了解你,但我基本上需要有保障,因为它是潜水你想要安全所以我们将数字四舍五入而不是像11这样的通常数学中的向下最多 19 不是 10,而是 9 到 10。
-
使用 pandas 中的
cut怎么样:import pandas as pd然后:pd.cut([time], bins = np.array([0,10,19,25,29,32, np.inf]), labels = np.array(['A','B','C','D','E','F']), right = True)
标签: python python-3.6