第四题~
输入某年某月某日,判断这一天是这一年的第几天
思路很清晰,先判断这个月前面的几个月天数之和,再加上这个月的天数就行了。注意闰年。
上代码
''' 输入某年某月某日,判断这一天是这一年的第几天 ''' year = int(input('请输入年:')) month = int(input('请输入月:')) - 1 day = int(input('请输入日:')) days = [31,28,31,30,31,30,31,31,30,31,30,31] total_day = 0 for i in range(month): total_day += days[i] if year % 4 == 0 and month > 2: total_day += 1 print(total_day + day)
第五题~
输入三个整数x,y,z,请把这三个数由小到大输出
思路及其明确,让这三个进列表,sort一下就完了
''' 输入三个整数x,y,z,请把这三个数由小到大输出 ''' x = input('请输入x') y = input('请输入y') z = input('请输入z') a = [] a.append(x) a.append(y) a.append(z) a.sort() print(a)
coding过程中我发现个好玩的事,a = a.sort()
运行以后发现输出了一个none,我:???
查了方法以后才发现,那个a =是多余的,直接a.sort()就可以了,但是none是哪来的呢
查了资料以后我发现,这些类似的方法,比如sort,append这些都是没有返回值的,就相当于返回了一个none,然后我这里再赋值给a,所以就会输出none了啦
第六题~
斐波那契数列
老经典算法了,不多说,直接上代码
''' 斐波那契数列 ''' times = int(input('请问要前几项呢')) list = [] a = 0 b = 1 for i in range(times): list.append(a) a, b = b, a + b print(list)
第七题~
将一个列表的数据复制到另一个列表中
这方法可多了去了,不多说,直接上代码~
''' 将一个列表的数据复制到另一个列表中 ''' b = [] a = [0,1,2,3,4,5,6,7,8,9] b = a print(b)
一点点小拓展~
列表复制的方法其实是有两种的,一种叫浅复制,一种叫深复制
这两种方法的区别在哪呢?来,上代码
a = [] b = [1,2,3] #浅复制 a = b[:] print(id(a)) #深复制 a = b print(id(a)) print(id(b))
从这里基本就可以看得出差别了
接下来有个小问题,如果我这样输出结果会怎么样呢
A = ['apple'] B = A B[0] = 'banana' print(A)
正确答案是 banana,因为这是深复制,AB一体了都,改变其中一个两个都得变
今天就到此为止吧~
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)