卷上卷队——钟某人刷题的day2——python的100道例题

卷上卷队——钟某人刷题的day2——python的100道例题,第1张

卷上卷队——钟某人刷题的day2——python的100道例题

第四题~

输入某年某月某日,判断这一天是这一年的第几天

思路很清晰,先判断这个月前面的几个月天数之和,再加上这个月的天数就行了。注意闰年。

上代码

'''
输入某年某月某日,判断这一天是这一年的第几天
'''
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一体了都,改变其中一个两个都得变

今天就到此为止吧~

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5700974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存