# -*-coding:UTF-8-*-
def sort(nums, n):
"""
function : sort a list which contain n elements
:param list: target list
:param n: length of lsit
:return: a lsit sorted
"""
if n > 0:
max_ele = max(nums[0:n])
max_ind = nums.index(max_ele)
nums[max_ind], nums[n - 1] = nums[n - 1], nums[max_ind]
sort(nums, n - 1)
return list
output_flag = 1
if __name__ == '__main__':
# python中的注释,函数的注释
# 不要用空格来垂直对齐多行间的标记, 因为这会成为维护的负担
if output_flag == 0:
nums = [3, 4, 5, 1, 2]
sort(nums, len(nums))
print(nums)
print(sort.__doc__)
# python 代码规范
"""换行"""
# 每行不要超过80个字符,不要使用反斜杠连接行, 如果需要换行,语句外加圆括号
# print('abcdefghijklmnopq'
# 'rst')
# if ((1 == 2) or (2 == 3) and (3 in [2, 3, 4]) or
# [not 2 == 4]):
# pass
"""缩进"""
# 缩进用4个空格。不要用tab;也不要空格+tab混合使用,会报错
# if output_flag == 1: 没问题 if (output_flag == 1): 不规范, 除了条件过长不要用括号
# 当换行时,缩进两个tab
"""空行"""
# 空一行:用于类成员函数之间,或者用于区分不同逻辑块
# 空两行:类与类,类与函数,函数与函数之间
"""空格"""
# 不要在冒号,逗号, 分号的前面加空格,应该在后面加,行尾除外
# 参数列表, 索引或切片的左括号前不应加空格.
# Yes: dict['key'] = list[index]
# No: dict ['key'] = list [index]
# 在二元操作符两边都加上一个空格, 比如赋值( =), 比较( ==, <, >, !=, <>, <=, >=, 计算运算符+, -, *, /, //, % ...
# in, not in, is, is not), 布尔( and, or, not)
# 当=在参数表里时左右不加空格