从city.txt文件中读十个城市名字,要求: (1) 自定义一个排序函数sorted( ),在主程序中调用该自定义函数,对所读取的10个城市进行升序排序,并把结果输出在屏幕上。
时间: 2024-03-08 13:51:04 浏览: 16
好的,我可以帮你解决这个问题。首先,你需要先读取city.txt文件中的城市名字,然后将其放入一个列表中。可以使用以下代码来实现:
```python
with open('city.txt', 'r') as f:
cities = [line.strip() for line in f.readlines()][:10]
```
接下来,你需要定义一个排序函数,可以使用Python内置的sorted函数,也可以自定义一个排序函数。这里我给出一个自定义的排序函数示例,按照城市名的字母顺序进行升序排序:
```python
def my_sort(cities):
n = len(cities)
for i in range(n):
for j in range(i+1, n):
if cities[i] > cities[j]:
cities[i], cities[j] = cities[j], cities[i]
return cities
```
最后,在主程序中调用自定义的排序函数,对城市名进行排序,并将结果输出到屏幕上:
```python
sorted_cities = my_sort(cities)
print(sorted_cities)
```
完整代码如下:
```python
def my_sort(cities):
n = len(cities)
for i in range(n):
for j in range(i+1, n):
if cities[i] > cities[j]:
cities[i], cities[j] = cities[j], cities[i]
return cities
with open('city.txt', 'r') as f:
cities = [line.strip() for line in f.readlines()][:10]
sorted_cities = my_sort(cities)
print(sorted_cities)
```
注意:本代码仅供参考,实际应用中可能需要考虑更多情况,比如文件不存在、文件中的数据格式不正确等等。