1.打印杨辉三角
n = eval(input(“输入要打印的行数:”))
triangle = [[1], [1, 1]]
for i in range(2, n): # 已经给出前两行,求剩余行
pre = triangle[i-1] # 上一行
cul = [1] # 定义每行第一个元素
for j in range(i-1): # 算几次
cul.append(pre[j]+pre[j+1]) # 每个数字等于上一行的左右两个数字之和。
cul.append(1) # 添加每行最后一个元素
triangle.append(cul)
print(“普通输出:{}”.format(triangle))
for i in range(n): # 按等边三角形格式输出
s = " “*(n-i-1)
for j in triangle[i]:
s = s + str(j)+” "
print(s)
2.选择排序
import random
def get_random_list(n):
l = []
for i in range(0,n):
l.append( random.randint(1,11))
return l
def select_sort(arr):
length = len(arr) # 拿到数组的长度
for i in range(0, length - 1):
k=i
for j in range(i + 1, length):
if arr[k] > arr[j]: # 从小到大排序
k = j
# swap(arr[k],arr[i]) # 在函数中实现参数的交换不行,说明python的函数传递是“值传递”
t = arr[k]
arr[k] = arr[i]
arr[i] = t
list = get_random_list(10) # 自动生成 list
print(list)
select_sort(list)
print(list)
3. 输入“年月日”,输出是一年中的第几天
def getN(year,month,day):
sum = 0 ## 到最后在判断是闰年还是平年
for i in range(0,month):
sum += m[i]
sum += day
if (year%400==0) or (year%4==0 and year%10!=0 ): ## 表示是闰年
sum += 1
return sum
year = input("year : ") ## 输出数据
month = input("month : ")
day = input("day : ")
m = [0,31,28,31,30,31,30,31,31,30,31,30] ## 只包括前 11 个月
year = int(year)
month = int(month)
day = int(day)
print( getN(year,month,day))