python日常工作

分析nginx日志,得出用户ip及用户相关信息、(访问次,流量量大,相应时间)

logip =  {'1.1.1.1':[200,20M,1S],}

’please‘  enter  your want ip  info:’

题: 采集用户的输入,输入ip,并采集相应ip的访问次数,流量,响应时间。至少采集三组数据

命令一:

logip = {}
ip = input('please enter your ip: ')
count = input('please enter {} counts:' .format(ip))
size = input('{} size: '.format(ip))
time = input('{} time: '.format(ip))
logip[ip] = [count.strip(),size.strip(),time.strip()]
print(logip)

 

 

 

方法二:(自认为这种简单)

logip = {}
ip = input('please enter your ip: ')
count = input('please enter your counts: ')
size = input('please enter your size: ')
time = input('time: ')
logip[ip] = [count,size,time]

 

 

 

 

 

 

 


 

练习: 猜数游戏,程序随机生成一个1-100之间的整数,然后和用户交互让用户猜生成的 数是多少。如果数猜大了,则输出"too big",再次等待用户输入猜数。如果用户猜小了,则 输出" too small" ,再次进入用户输入 猜数。如果用户猜对了,刚输出"Surprise! you are right!"并退出程序。

import random
randnum = random.randint(1,100)
while True:
num = input('please enter your guests: ')
if not num.isdigit():
print(' {}error'.format(num))
continue
num = int(num)
if num > randnum:
print(' {}is the big'.format(num))
elif num < randnum:
print(' {}is the small'.format(num))
else:
print('good job')

 

 

 

 

 

 


 

将一个列表中的偶数分开:

 

number = ['25','36','56','78','62','36']
L = []
while number:
tmp =number.pop(0)
if tmp.isdigit():
tmp = int(tmp)
if tmp % 2 ==0:
L.append(tmp)
print(L)

 


 

是否有质数:

num = 5
a = 2
while a < 5:
if num % a ==0:
print(' {}is not a zhishu'.format(num))
break
a += 1
else:
print(' {}is a zhishu'.format(num))

 

 

 

 

 

 

 

 

 

 

 


 

将数字从大到小排序:

a = [23,25,1,26,2,6,7]
yuner = []
while len(a) > 1:
tmp = a.pop(0)
for i in range(len(a)):
if tmp > a[i]:
a[i],tmp = tmp,a[i]
yuner.append(tmp)
else:
yuner.append(a[0])
print(yuner)

 

 

 

 

 


 

 查找/etc/passwd 结尾以/bash结尾的用户:

 


with open('/etc/passwd','r') as fp:
for line in fp:
line = line.strip()
if line.endswith('bash'):
name = line.split(':')[0]
print(name)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

打印出菱形:

def lx(row=7):
ret = list(range(1,row+1,2))
tmp =ret[:-1][::-1]
ret.extend(tmp)
return ret

row = 7
ret = lx(row)
for line in ret:
a = '*' * line
print(a.center(row))

 

 

 

 

 

 

 

 

 

 

 

 

 


 打印心形图案:

print("\n".join([''.join(['*'*((x-y)%3)
if((x*0.05)**2+(y*0.1)**2 -1)**3-(x*0.05)**2*(y*0.1)**3 <= 0
else ' '
for x in range(-30,30)])
for y in range(15,-15,-1)]))

 

 

 

 

 


 

要求,正数在前负数在后 2、整数从小到大 3、负数从小到大

a =[1,36,56,4,6,-1,0,-5]
yuner = sorted(a,key=lambda x:(x<0,abs(x)))
print(yuner)

 

 

 

 

 

 


 

求出整数的倍数:

 

 

 

 

 

 

 

 

斐波那契数列,fib = [1,1] 要求输出一个交互界面,当用户输入数字时就显示相应位的斐波那契数,如果用户输入 exit或quit则退出程序,如果用 户输入的是一个非自然数则提示用户输入错误,并告诉用户如何使用。

 

 

 

 

 

 列表去重

 

 

 

 

 

 

 


 

5、执行程序,用户输入一下年份,打印此年是平年还是闰年。 ①、某年能被4整除且不能被100整除的为闰年(2004是闰年,1901年不是闰年) ②、某年能被400整除的是闰年。(如2000年是闰年,1900年不是闰年) ③、对于数值很大的年份(不小于3200),这年如果能整除3200,并且能整除172800则是闰年。如172800年是闰年,3200、86400年不是闰年(因为虽然 能整除3200,但不能整除172800)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


猜数游戏,程序随机生成一个1-100之间的整数,然后和用户交互让用户猜生成的数是多少。如果数猜大了,则输出"too big",再次等待用户输入猜 数。如果用户猜小了,则输出"too small",再次进入用户输入 猜数。如果用户猜对了,刚输出"Surprise! you areright!"并退出程序。

 

在网页上随便获取一个图片:

 

##############################################################3

斐波那契数列,fib = [1,1] 要求输出一个交互界面,当用户输入数字时就显示相应位的斐 波那契数,如果用户输入 exit或quit则退出程序,如果用户输入的是一个非自然数则提示用 户输入错误,并告诉用户如何使用。

def getfib(n):

fib = [1,1]

while len(fib) < n:

tmp = fib[-1] + fib[-2]

fib.append(tmp)

return fib[n-1]

if __name__ == '__main__':

while True:

num = input('please enter a number:')

num = num.strip().lower()

try:

num = int(num)

ret = getfib(num)

print(ret)

except:

if num == 'exit' or num == 'quit': break else: print('{} sorry is not shuzi'.format(num))

posted @ 2018-07-03 20:07  别人放弃,我努力  阅读(768)  评论(0编辑  收藏  举报