用户:秋葵查看:6 回复:2 评论:6 创建时间:2018-12-16T11:21:29



Long time no see
秋葵被作业支配了那么一小段时间
希望你仍然能继续认真地学习Python!



题目1 一万天!
分析:
1.获取一行三个输入
2.遍历一万次
3.在遍历中判断闰年和大月小月做出相应结果
代码解析:
#获取数据
a1= input().split(" ")
#赋值到year,month,day这三个变量中
year,month,day= int(a1[0]),int(a1[1]),int(a1[2])
#遍历一万次(太喵了)
for i in range(10000):
#每次天加1
day += 1
#如果这个月大于28天,同时为2月的话
if day >= 28 and month == 2:
#判断闰年
if ((year%4==0 and year%100!=0 )or year%400==0) and day == 30:
#月份+1,天数+1
month += 1
day = 1
#如果为不为闰年,天数等于29时
elif not ((year%4==0 and year%100!=0 )or year%400==0):
if day == 29:
#月份加1,天数归1
month += 1
day = 1
#如果大于30天,月份不为2
if day >= 30 and month != 2:
#判断31天的月
if (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12) and day == 32:
#月份+1,天数+1
month += 1
day = 1
#如果为30天的月
elif (month == 4 or month == 6 or month == 9 or month == 11) and day == 31:
#月份天数+1
month += 1
day = 1
#如果月份大于12
if month > 12:
#月份为1,天数为1,年+1
month = 1
day = 1
year += 1
#打印值
print(year,month,day)



题目2 找数字
分析:
1.获取输入一行两个数据,开头和结尾的数字
2.遍历1000到9999
3.在遍历中判断第一个数字和末尾的数字是否与输入的数据相同
4.如果是下一步判断是否为7或者11整除,否则跳过
5.打印次数
代码解析:
#获取输入,分别赋值到A,B
a=input().split()
A,B=str(a[0]),str(a[1])
#定义符合次数为0
times=0
#遍历1000到9999
for i in range(1000,10000):
#首先开头和结尾要吻合A和B
if str(i)[0]==A and str(i)[-1]==B:
#判断是否是7和11到倍数
if i%7==0 or i%11==0:
#若是,值+1
times+=1
#打印次数
print(times)



题目3 列表限制
分析:
1.获取整形列表
2.遍历列表获取次数
3.如果次数超标就踢出相应次数
4.打印新列表
代码解析:
#获取一个列表整形
a=list(map(int,input().split()))
#设置次数为0
number=0
#遍历列表每一个值
for i in a:
#查询列表这个值出现的次数
number=a.count(i)
#如果大于2
if number>2:
#清除多余的数据
for j in range(number-2):
a.remove(i)
#打印列表
print(a)



今天的知识都学会了吗?


