三条代码就搞定了啊,python默认会自动按照ascii码来比较字符串的大小
# n代表需要输入几个国家
n = int(input())
# countries将输入的n个国家名以字符串形式保存在列表里
countries = [input() for i in range(n)]
# 将列表countries升序排序,然后打印出排在第一位的字符串,也就是最小的
print(sorted(countries)[0])
参考代码如下:
# 定义字符串比较函数
def compare(name1, name2):
len1 = len(name1)
len2 = len(name2)
if len1 == 0 and len2 == 0:
return 0
elif len1 == 0 and len2 > 0:
return 0
elif len1 > 0 and len2 == 0:
return 1
c1 = name1[0:1].lower()
c2 = name2[0:1].lower()
if ord(c1) > ord(c2):
return 1
elif ord(c1) == ord(c2):
if len1 > 1 and len2 > 1:
return compare(name1[1:], name2[1:])
elif len1 == 1:
return 0
elif len2 == 1:
return 1
return 0
c = []
n = (int)(input('please inuput lines:'))
for i in range(0, n):
ch = input()
c.append(ch)
for i in range(0, n-1):
for j in range(i+1, n):
if compare(c[i], c[j]) > 0:
temp = c[i]
c[i] = c[j]
c[j] = temp
print(c[0])