从键盘输5个城市的名字,存入一个列表中。要求: ① 第一个城市是你所在家乡的城市名。 ② 每个汉字城市名的前面加上拼音首字母缩写,如:cc长春 。 ③ 用一个input函数完成5个城市名字的输入,如:input("请输入5个城市的名字,用空格分隔:") 。 (2)将该列表中元素,即5个城市的名字用for循环遍历输出。 (3)用索引值输出列表中你家乡的名字。再切片输出所有其它城市名字。 (4)对该列表进行逆序输出。要求用两种方法完成(切片法和使用reverse()方法)。 (5)对该列表进行降序排序,并输出。要求用两种方法完成(sorted()和sort())。 (6)对降序排序后的列表,用切片方法,输出你家乡的名字及其前面和后面的名字(如果有的话)。注:不能直接使用0、1、2、……这样的索引值,即你家乡城市名的索引值使用index()函数获得。提示:需要用if 语句。 (7)将你家乡城市的名字前面和后面的城市(如果有的话),改名为任意其他城市的名字,并输出。注:还是不能直接用数字作为索引值。提示:需要用if 语句。 (8)将刚才改名的1个(如果你家乡所在城市排在第一位或最后一位)或2个城市的名字删除,并输出剩下的城市名字。注:还是不能直接用数字作为索引值。提示:需要用if 语句。
时间: 2023-03-26 18:03:46 浏览: 226
我可以回答这个问题。以下是代码:
```python
# 输入5个城市名字
city_names = input("请输入5个城市的名字,用空格分隔:").split()
# 添加拼音首字母缩写
for i in range(len(city_names)):
pinyin = ''.join([x[] for x in pypinyin.lazy_pinyin(city_names[i])])
city_names[i] = pinyin + city_names[i]
# 输出城市名字
print("城市名字列表:")
for city in city_names:
print(city)
# 输出家乡城市名字及其它城市名字
home_city = city_names.index('cc长春')
other_cities = city_names[:home_city] + city_names[home_city+1:]
print("家乡城市名字:", city_names[home_city])
print("其它城市名字:", other_cities)
# 逆序输出城市名字
print("逆序输出城市名字(切片法):", city_names[::-1])
city_names.reverse()
print("逆序输出城市名字(reverse()方法):", city_names)
# 降序排序城市名字
print("降序排序城市名字(sorted()方法):", sorted(city_names, reverse=True))
city_names.sort(reverse=True)
print("降序排序城市名字(sort()方法):", city_names)
# 输出家乡城市名字及其前后的城市名字
if home_city == :
print("家乡城市名字及其后面的城市名字:", city_names[home_city:home_city+2])
elif home_city == len(city_names)-1:
print("家乡城市名字及其前面的城市名字:", city_names[home_city-1:home_city])
else:
print("家乡城市名字及其前后的城市名字:", city_names[home_city-1:home_city+2])
# 改名并输出
if home_city == :
city_names[1] = "new_city1"
elif home_city == len(city_names)-1:
city_names[-2] = "new_city2"
else:
city_names[home_city-1] = "new_city1"
city_names[home_city+1] = "new_city2"
print("改名后的城市名字:", city_names)
# 删除城市名字并输出
if home_city == :
del city_names[1]
elif home_city == len(city_names)-1:
del city_names[-2]
else:
del city_names[home_city-1]
del city_names[home_city+1]
print("删除后的城市名字:", city_names)
```
阅读全文