天天看点

函数小练习(输出一年的第几天,将重复的ip地址找出,将字母统一成大写模式)-python

一:

问题描述

请编写一个小程序,实现输入任意年月日,计算出这是这一年的第几天,如,输入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:]))
           

执行结果

函数小练习(输出一年的第几天,将重复的ip地址找出,将字母统一成大写模式)-python

二:

问题描述

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


           

执行结果

函数小练习(输出一年的第几天,将重复的ip地址找出,将字母统一成大写模式)-python

三:

问题描述

编写一个函数,把输入的字母统一成大写模式,如输入"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)


           

执行结果

函数小练习(输出一年的第几天,将重复的ip地址找出,将字母统一成大写模式)-python

**************就到这里啦