# 硬币分类器代码示例
# 导入必要的库
import random
# 生成随机硬币数据
def generate_coins(num_coins):
"""生成指定数量的随机硬币数据,包含直径和厚度"""
coins = []
for _ in range(num_coins):
diameter = random.uniform(15, 45) # 随机直径,范围15到45毫米
thickness = random.uniform(1, 4) # 随机厚度,范围1到4毫米
coins.append((diameter, thickness))
return coins
# 硬币分类函数
def classify_coins(coins, diameter_thresholds):
"""根据直径分类硬币,使用阈值来定义不同大小的硬币"""
categories = {
'extra_small': [],
'small': [],
'medium': [],
'large': [],
'extra_large': []
}
for coin in coins:
diameter, _ = coin
for category, threshold in diameter_thresholds.items():
if diameter < threshold:
categories[category].append(coin)
break
return categories
# 设置硬币分类的阈值
diameter_thresholds = {
'extra_small': 20,
'small': 25,
'medium': 30,
'large': 35,
'extra_large': 40
}
# 主程序
def main():
# 生成10枚随机硬币数据
coins = generate_coins(10)
# 调用分类函数
categorized_coins = classify_coins(coins, diameter_thresholds)
# 打印分类结果
for category, coins in categorized_coins.items():
print(f"{category.capitalize()} Coins: {coins}")
# 运行主程序
if __name__ == "__main__":
main()
这段代码提供了一个硬币分类器的示例。首先,generate_coins 函数用于生成随机硬币数据,这里假设硬币的直径和厚度都是随机的。接着,classify_coins 函数根据直径阈值将硬币分类到不同的类别中。diameter_thresholds 字典定义了不同类别硬币的直径阈值。
在主程序 main 中,我们生成了10枚随机硬币的数据,并调用 classify_coins 函数进行分类,最后打印出每个类别中的硬币数据。这样的设计使得硬币分类器可以根据不同的直径阈值灵活调整。
