1.找出九大行星中直径最大和最小的,打印名字和对应直径
2.找出跟地球直径最接近的行星,打印名字。( abs(x) 可以求得x的绝对值 )
names = [“冥王星”, “火星", "水星", "金星", "地球", "海王星", "天王星", "土星", "木星"]
directs = [2370, 5000, 7000, 12500, 13000, 50000, 510000, 1230000, 1250000]
代码如下,有用的话请点击一下采纳谢谢
names = ["冥王星", "火星", "水星", "金星", "地球", "海王星", "天王星", "土星", "木星"]
directs = [2370, 5000, 7000, 12500, 13000, 50000, 510000, 1230000, 1250000]
ret = {}
for name, direct in zip(names, directs):
if direct == min(directs):
print('直径最小的是%s, %s' % (name, direct))
if direct == max(directs):
print('直径最大的是%s, %s' % (name, direct))
ret[abs(direct-13000)] = name
del ret[0]
print('跟地球直径最接近的行星为',ret[min(ret)])
names = ['冥王星', '火星', '水星', '金星', '地球', '海王星', '天王星', '土星', '木星']
directs = [2370, 5000, 7000, 12500, 13000, 50000, 510000, 1230000, 1250000]
dict_planets = {names[i]: directs[i] for i in range(len(names))}
print(dict_planets)
# 1.找出九大行星中直径最大和最小的,打印名字和对应直径
list1 = sorted(dict_planets.items(), key=lambda x: x[1])
print("直径最小:", list1[0][0], list1[0][1])
print("直径最大:", list1[len(names) - 1][0], list1[len(names) - 1][1])
# 2.找出跟地球直径最接近的行星,打印名字。( abs(x) 可以求得x的绝对值 )
min_gap = dict_planets['地球']
name_mark = '地球'
for name, direct in dict_planets.items():
if name == '地球':
continue
gap = abs(dict_planets['地球'] - direct)
if min_gap > gap:
min_gap = gap
name_mark = name
print("跟地球直径最接近的行星:", name_mark, dict_planets[name_mark])
# 直径最小: 冥王星 2370
# 直径最大: 木星 1250000
# 跟地球直径最接近的行星: 金星 12500
names = ["冥王星", "火星", "水星", "金星", "地球", "海王星", "天王星", "土星", "木星"]
directs = [2370, 5000, 7000, 12500, 13000, 50000, 510000, 1230000, 1250000]
print('直径最大:', max(names, key=lambda x: directs[names.index(x)]))
print('直径最小:', min(names, key=lambda x: directs[names.index(x)]))
print('最接近的行星:', min(names, key=lambda x: abs(directs[names.index(x)] - directs[4]) if x != '地球' else float('inf')))