python基础练习(三)

xiaoxiao2021-02-28  130

######判断输入###

#!/usr/bin/env python #coding:utf-8 _author_ = 'hxr' def myabs(x):     if isinstance(x,(int,float)):         print abs(x)     else:         print "请输入数字" myabs('123')

######将姓名首字母变为大写######

#!/usr/bin/env python #coding:utf-8 _author_ = 'hxr' def func(name):     if name.istitle():         print name     else:         print name.capitalize() name=raw_input("输入姓名:") func(name)

#####运用字典判断四则运算####

#!/usr/bin/env python #coding:utf-8 from __future__ import division _author_ = 'hxr' def add(num1,num2):     return num1+num2 def sub(num1,num2):     return num1-num2 def chen(num1,num2):     return num1*num2 def chu(num1,num2):     return num1/num2 num1=input("请输入一个数字") num2=input("请输入一个数字") dic={'+':add(num1,num2),'-':sub(num1,num2),'*':chen(num1,num2),'/':chu(num1,num2)} choice=raw_input("请输入运算方法:") if choice in dic.keys():     print dic[choice] else:     print "当前操作不存在!"

#####返回两个值(相当于返回元组)######

#!/usr/bin/env python #coding:utf-8 _author_ = 'hxr' def func(x,y):     if not isinstance(x,int)or not isinstance(y,int):         print 'Error type'     else:         return max(x,y),(x+y)/2 x=input("请输入一个数") y=input("请输入一个数") maxi,ave=func(x,y) print "最大为:%s"%maxi print "平均为:%s"%ave

######参数为列表#############

#默认参数必须是不可变数据类型 def func1(li=None):     if li is None:         return ['END']     else:         li.append('END')         return li def func(li=[]):     if len(li)==0:         return ['END']     else:         li.append('END')         return li print func([1,2,3]) print func() print func()

########可变参数/位置参数#####

#定义函数时,形参可以为*args,使函数可以接受多个参数 #如果想将一个列表或元组传入函数,也可以通过*li或*t将参数传入函数里 def fun(*args):     print type(args)     return max(args),min(args)      li=1,42,3,14,58,6 print fun(*li)

###########关键字参数####

def enroll(name,age=22,**kwargs):     print 'name:'+name     print 'age:%d'% age     for k,w in kwargs.items():         print '%s  : %s'%(k,w)     print type(kwargs) enroll('hello',myclass='运维班',gender='male') ####

#####递归函数求阶乘#####

#!/usr/bin/env python #coding:utf-8 _author_ = 'hxr' def fact(n):     if n == 1:         return 1;     else:         return fact(n - 1) * n num = input("请输入一个数字:") print fact(num)

######除数的一半########

#!/usr/bin/env python #coding:utf-8 _author_ = 'hxr' def fun(n):     if  not isinstance(n,int):         print "num is not int"         exit (0)     print n     b=int (n/2)     if b >0:         return fun(b) num = input("请输入一个数字:") fun(10)

########求数的平方########

#!/usr/bin/env python #coding:utf-8 _author_ = 'hxr' li=[] for i in range(1,8,1):     li.append(i*i) print li list=[] for i in range(1,8,1):     s="%s x %s"%(i,i)     list.append(s) print list

########列表生成式(可以嵌套语句)#####

#!/usr/bin/env python # coding:utf-8 li=[] str1='123' str2='ABC' for i in str1:     for j in str2:         li.append(i+j) print li print[i+j for i in str1 for j in str2]

#######斐波那挈数列#####

#!/usr/bin/env python # coding:utf-8 def fib(max):     n,a,b=0,0,1     while n<max:         print b         a,b=b, a+b         n+=1 fib(7)

#######生成器######

def hello():     print 'a'     yield 1     print 'b'     yield 2     print 'c'     yield 3 a=hello() a.next() a.next() a.next()

########异步I/O模型########

#!/usr/bin/env python # coding:utf-8 import time def consumer(name):     print '%s 准备好了!'%name     while True:         fentiao =yield         print ('%s做好了,%s已经结束了')%(fentiao,name) def product(name):     c1=consumer("hello1")     c2=consumer("hello2")     c1.next()     c2.next()     print "开始制作了......."     for i in 'hen':         time.sleep(1)         print '%s做了两份'%name         c1.send(i)         c2.send(i) product('小明')

#########字符串转int类型#######

#!/usr/bin/env python # coding:utf-8 str1='12345' def char2int(x):     li = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}     return li[x] res= map(char2int,str1) def func(x,y):     return x*10+y print type(reduce(func,res))

########过滤输出1-10中的所有质数#####

#!/usr/bin/env python # coding:utf-8 def zhi(x):     if x==1:         return None     for i in range(2,x+1):         if x%i==0:             break     if i==x:         return x     else:         return None print filter(zhi,range(1,10))
转载请注明原文地址: https://www.6miu.com/read-48897.html

最新回复(0)