Python中函数练习
2024-09-01 06:52:59
练习1:编写一个函数,接收一个字符串参数,返回一个元组(第一个元素为大写字母的个数,第二个元素为小写字母的个数)
解析:
练习二:编写函数,计算字符串匹配的准确率(orginStr为原始内容,userStr为用户输入内容)
解析:
def fun2(orginStr, userStr):
countAll = len(orginStr)
print "原字符串的个数为:%d" %countAll
countMatch = 0
i = 0
while i < countAll:
if orginStr[i] == userStr[i]:
countMatch += 1
i += 1
print "匹配原字符的个数为:%d" %countMatch
percent = countMatch*100 / float(countAll)
return percent
orginvalue = 'hello'
inputvalue = raw_input("please input userString:")
print "匹配程度为:%.2f%%" % fun2(orginvalue,inputvalue)
练习三: 编写函数caculate,可接受任意多个数,返回元组类型(第一个元素为所有参数的平均值,第二个元素为大于平均值的所有数)
解析:
练习四:编写函数,接收一个列表(包含30个整数)和一个整数k,返回一个新列表
要求:将列表下标k(不包含k)之前对应的元素逆序;将下标k之后的元素逆序。
解析:
练习五:模拟轮盘抽奖游戏:一等奖、二等奖、三等奖
轮盘随机转动:一等奖范围【0,0.08】;二等奖范围【0.08,0.3】;三等奖范围【0.3,1】
模拟本次活动1000人参加,模拟游戏需要准备个等级评奖的个数
解析:
import random
RangeDirct = {
'一等奖':(0,0.08),
'二等奖':(0.08,0.3),
'三等奖':(0.3,1)
}
# rand()函数:用来生成不同概率的不同等级;然后返回奖评的等级
def rand():
num = random.random()
for k,v in RangeDirct.items():
if v[0] < num < v[1]:
return k
NumDirct = {} # 存储1000个人的出现一/二/三等奖出现的人数
for i in range(1000):
award = rand()
if award in NumDirct:
NumDirct[award] += 1
else:
NumDirct[award] = 1
for k,v in NumDirct.items():
print k,'--->',v
练习六:腾讯笔试
对于f(n)等于一个值:f(132) = 1**2+3**2+2**2=14;在a,b中任意变量i,满足公式k*f(i)=i的个数 (此时a,b,k均为输入值)
例如:输入:51 5000 10000
输出:3
解析:
def f(n):
a = str(n) # 对整数进行字符的转换,便于取出单个字符进行操作
sum = 0
for i in a:
sum += int(i)**2
return sum a = raw_input("please input a,b,k:") # 输入51 5000 10000以空格隔开
li = []
for i in a.split(" "): # 把字符串以空格为分隔符,把字符转换为整型存储于列表中
li.append(int(i))
k,a,b = li # 输出列表中的多个值
num = 0
for i in range(a,b+1):
if k*f(i) == i:
num += 1
print "在(%d,%d)中,共有%d个数满足公式" %(a,b,num)
最新文章
- (一)Nand FLASH 原理讲解
- ExecutorType 的类型
- Renderer.materials
- Flume+kafka+storm+hdfs
- ASP运行流程(主要的类笔记)
- http://blog.csdn.net/luxiaoyu_sdc/article/details/7333024
- 1.7.4 Query Syntax and Parsing
- cocos2d-x混合BlendFunc的使用
- Eclipse插件安装
- TortoiseGit日常使用指南
- SQLCLUSTER sql数据库监测工具
- call和apply方法的理解
- IL来理解属性
- 防SQL注入:生成参数化的通用分页查询语句
- python之list和tuple
- docker学习-常用命令2
- 51单片机学习笔记(清翔版)(13)——LED点阵、74HC595
- mysql之视图,触发器,事务等。。。
- openssl中RSA数字签名的使用
- Python3笔记——常用技术点汇总