视频加载中...











{1, 2}
{2, 1}
d = {"cat": "猫", "dog": "狗"}
d
d = {"dog": "狗", "cat": "猫"}
d
help(dict.popitem)type({})
dict()
set()
特性 | 字典 | 集合 |
有序? | ✅ 有序 | ❌ 无序 |
结构? | 键值对 | 纯元素 |
唯一? | 键唯一 | 元素唯一 |
可索引? | ✅ 可索引 | ❌ 不可索引 |


根据这个生成python代码,输入目的地,重量,得到价格
# 字典 value 是元组:(首重价格, 续重价格)
price_data = {
"江苏": (8, 2),
"浙江": (8, 2),
"上海": (8, 2),
"安徽": (8, 2),
"广东": (10, 5),
"福建": (10, 5),
"湖南": (10, 5),
"湖北": (10, 5),
"山东": (10, 5),
"天津": (10, 5),
"北京": (10, 5),
"江西": (10, 5),
"河南": (10, 5),
"河北": (10, 5),
"海南": (12, 8),
"四川": (12, 8),
"云南": (12, 8),
"贵州": (12, 8),
"陕西": (12, 8),
"重庆": (12, 8),
"山西": (12, 8),
"广西": (12, 8),
"吉林": (12, 8),
"黑龙江": (12, 8),
"内蒙古": (15, 12),
"宁夏": (15, 12),
"甘肃": (15, 12),
"辽宁": (15, 12),
"青海": (15, 12),
"新疆": (22, 22),
"西藏": (25, 25)
}
def calculate_price(destination, weight):
# 判断省份是否存在
if destination not in price_data:
return None
# 元组取值:第0位是首重,第1位是续重
first_weight, continued_weight = price_data[destination]
if weight <= 1:
return first_weight
else:
extra = weight - 1
# 不足1kg按1kg计算续重
extra_kg = int(extra) if extra.is_integer() else int(extra) + 1
return first_weight + extra_kg * continued_weight
# 测试运行
dest = input("请输入目的地省份:")
weight = float(input("请输入重量(kg):"))
price = calculate_price(dest, weight)
if price is None:
print("未找到该地区价格")
else:
print(f"运费:{price} 元")
Python 时区计算:5 个城市(北京、伦敦、纽约、东京、悉尼),输入出发地、起飞时间、目的地,自动算当地到达时间,带数据校验和跨天显示

# 假设的飞行时长(单位:小时),确保包含所有城市之间的往返飞行时长
flight_duration = {
("北京", "伦敦"): 10,
("伦敦", "北京"): 10,
("北京", "纽约"): 13,
("纽约", "北京"): 13,
("北京", "东京"): 3,
("东京", "北京"): 3,
("北京", "悉尼"): 10,
("悉尼", "北京"): 10,
("伦敦", "纽约"): 7,
("纽约", "伦敦"): 7,
("伦敦", "东京"): 9,
("东京", "伦敦"): 9,
("伦敦", "悉尼"): 11,
("悉尼", "伦敦"): 11,
("纽约", "东京"): 14,
("东京", "纽约"): 14,
("纽约", "悉尼"): 16,
("悉尼", "纽约"): 16,
("东京", "悉尼"): 7,
("悉尼", "东京"): 7
}
# 假设的城市和时区信息(简化示例)
city_timezones = {
"北京": 8,
"伦敦": 0,
"纽约": -5,
"东京": 9,
"悉尼": 10
}
# 手动输入出发地、起飞时间和目的地
while True:
departure_city = input("请输入出发城市(例如:北京): ")
if departure_city not in city_timezones:
print("输入的出发城市不存在,请重新输入。")
continue
break
while True:
departure_time_str = input("请输入出发时间(格式:HH:MM,例如:08:00): ")
try:
hours, minutes = map(int, departure_time_str.split(':'))
if 0 <= hours < 24 and 0 <= minutes < 60:
break
else:
print("出发时间格式不正确或超出范围,请重新输入。")
except:
print("出发时间格式不正确,请重新输入。")
while True:
arrival_city = input("请输入到达城市(例如:纽约): ")
if arrival_city not in city_timezones:
print("输入的到达城市不存在,请重新输入。")
continue
if (departure_city, arrival_city) not in flight_duration:
print("该航线不存在,请重新输入。")
continue
break
departure_timezone = city_timezones[departure_city]
arrival_timezone = city_timezones[arrival_city]
duration = flight_duration[(departure_city, arrival_city)]
# 将出发时间转换为分钟数
departure_time_minutes = hours * 60 + minutes
# 计算起飞时到达城市的当地时间(分钟数)
local_time_at_departure_in_arrival_city = departure_time_minutes + (arrival_timezone - departure_timezone) * 60
# 加上飞行时间(分钟数)得到到达时间(分钟数)
arrival_time_minutes = local_time_at_departure_in_arrival_city + duration * 60
# 计算经过的天数
days_passed = arrival_time_minutes // (24 * 60)
# 处理时间超过一天的情况,转换为当天的分钟数
arrival_time_minutes = arrival_time_minutes % (24 * 60)
# 转换回小时和分钟
arrival_hours = arrival_time_minutes // 60
arrival_minutes = arrival_time_minutes % 60
print(f"飞行时间为 {duration} 小时。")
if days_passed > 0:
print(f"到达 {arrival_city} 的当地时间是次日 {arrival_hours:02d}:{arrival_minutes:02d} 点")
else:
print(f"到达 {arrival_city} 的当地时间是 {arrival_hours:02d}:{arrival_minutes:02d} 点")


tuple([1, 2, 3])



类型名称 | 描述 | 可变性 | 举例 |
列表 | list | 是 | [1,2,3]、["a","b"],list(1,2) |
元组 | tuple | 否 | (1,2) |
字符串 | str | 否 | "oeasy" |
集合 | set | 是 | set([1,2,3]) |
不可变集合 | frozeset | 否 | frozenset([1,2,3]) |
字典 | dict | 是 | {'a':1,'b':2} |
更新时间:2026-09-09
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight All Rights Reserved.
Powered By 71396.com 闽ICP备11008920号
闽公网安备35020302034844号