python练习题

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))

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值