一:
问题描述
请编写一个小程序,实现输入任意年月日,计算出这是这一年的第几天,如,输入20210203,则提示这是2021年的第34天
查了一下闰年和平年的资料
1、含义不同。遇到整百年时要被400整除才是闰年,否则为平年;遇到非整百年时,只要被4整除就是闰年,不能被4整除为平年。
2、天数不同。闰年的2月有29天,平年的2月有28天。
def whichday(y,m,d):
'''
功能:输入任意年月,计算这是这一年的哪一天
offset是为了区别是闰年还是平年
函数没有返回值
'''
if y%4==0 and y%100!=0:
offset=1
else:
offset=2
if m==1:
print('这是一年第'+str(d)+'天')
if m==2:
print('这是一年第'+str(31+d)+'天')
if m==3 or m==5 or m==7:
print('这是一年第'+(m-1)*30+(m-1)/2+d-offset+'天')
if m in(4,6,8,10,12):
print('这是一年第'+(m-1)*30+(m)/2+d-offset+'天')
if m in(9,11):
print("这是一年第"+(m-1)*30+(m+1)/2+d-offset+'天')
#执行这两个步骤,会自动调用whichday函数
#if __name__=='__main__':
#whichday(2021,2,3)
day=str(input('请输入年月日(如20210203这样的形式)\n'))
print('输入的年月日为:',day[:4]+'年',day[5:6]+'月',day[7:]+'日')
whichday(int(day[:4]),int(day[5:6]),int(day[7:]))
执行结果
二:
问题描述
下面list中提供了几组ip地址,编写一个函数,将list中重复出现的ip地址找出来
list=[‘192.168.1.1’,‘10.192.66.72’,‘10.199.88.132’,‘192.168.1.1’,‘1.192.168.163’,‘1.2.3’,‘1.2.3’]
‘1.2.3’是我加上去测试的
代码实现
def find_ip(list):
l=[]#用来装没有重复过的ip
m=[]#用来装重复过的ip
for item in list:#遍历列表
str_1="".join(item)#将列表转换为字符串
if str_1 not in l:
l.append(str_1)
else:
m.append(str_1)
return m#返回重复过的ip
list=['192.168.1.1','10.192.66.72','10.199.88.132','192.168.1.1','1.192.168.163','1.2.3','1.2.3']
print('提供的几组ip地址',list)
print()
print('在list中重复出现的ip地址',find_ip(list))
执行结果
三:
问题描述
编写一个函数,把输入的字母统一成大写模式,如输入"go big or go home",输出为"GO BIG OR GO HOME
代码实现
def printcapital(string):
print("原来的字符串",string)
print("将字母统一成大写模式:",string.upper())
string='go big or go home'
printcapital(string)
执行结果
**************就到这里啦