gpt4 book ai didi

python - 数据结构可以让我将动态整数列表与其他三个静态整数列表进行比较?

转载 作者:太空宇宙 更新时间:2023-11-03 20:32:18 25 4
gpt4 key购买 nike

我意识到措辞有点复杂。我正在尝试找到一种有效的方法来捕获用户的测量值,与一组测量值进行比较,然后将尺寸字符串返回给用户。我一直在思考一个类是否有意义,但即使有这些值,我可以比较它们以确定大小的唯一方法是使用大量 if 语句,这似乎有点草率。为了找出用户输入的尺寸也是“最接近的”,我需要减去用户输入的值和每个尺寸的测量值之间的差异),然后根据输入测量值之间的差异幅度确定用户最接近的尺寸和尺寸测量

#dictionaries used as placeholder 
user_input = {chest-width: 37, body-length: 29, sleeve-length: 8}
small = {chest-width: 38, body-length: 28, sleeve-length: 8}
medium = {chest-width: 41, body-length: 29, sleeve-length: 8.5}
large = {chest-width: 44, body-length: 30, sleeve-length: 9}

#function to compare user_input with size measurements

真正寻找关于我应该考虑哪种数据结构的见解,这将使我能够进行如上所述的清晰比较。我想当我放下数据结构方面的事情时我可以弄清楚事情。如果这不是很明显的话,我对 OOP 还很陌生。 :)

最佳答案

不要将小、中、大作为单独的字典,而是将它们存储在一个大字典中:

measurements = {
'small': {chest-width: 38, body-length: 28, sleeve-length: 8},
'medium': {chest-width: 41, body-length: 29, sleeve-length: 8.5},
'large': {chest-width: 44, body-length: 30, sleeve-length: 9}
}

然后创建一个函数,该函数采用用户测量值和预制测量值(例如 small)并返回一个值来确定测量值的“接近度”。为了考虑稍大或稍小的测量值,您可以采用距离的绝对值,但我将把它留给您。

def measurementDistance(user, measurement):

# This takes the average difference of chest-width, body-length, and sleeve-length.
# Replace it with your own metric
chest = user['chest-width'] - measurement['chest-width']
body = user['body-length'] - measurement['body-length']
sleeve = user['sleeve-length'] - measurement['sleeve-length']
return (chest + body + sleeve) / 3

最后,当您获得用户输入时,循环遍历 measurements 中的每个项目,比较 measurementDistance() 返回的接近度值。最小值就是您想要的值。

关于python - 数据结构可以让我将动态整数列表与其他三个静态整数列表进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57417682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com