博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python简单试题1
阅读量:7259 次
发布时间:2019-06-29

本文共 2171 字,大约阅读时间需要 7 分钟。

1,相乘次数

题目要求描述:一个整数每一位上的数字相乘,判断是否为个位数,若是则程序结束,不是则继续相乘,要求返回相乘次数。例:39 > 3*9=27 > 2*7=14 > 1*4=4     返回 3   105 > 1*0*5=0                    返回0   4                                返回0
def multiplicative_times(num):    i = 0 #用来计算相乘次数    while num // 10 > 0 : # 注意要用 // 这是向下取整除法        num1 = 1        while num != 0: # 循环,直到 num=0            num1 = (num%10)*num1 # 取出个位然后相乘            num = num // 10 # 除以十,不要小数部分        i += 1 # i = i+ 1        num = num1 # 循环继续    return i

2,筛选出四个字母的字符串。

给定一个列表,其中包含都是字符串,但字符串长度不相同,让你写一个函数,找出长度为四的字符串。
def friend(x):    y = [] # 定义一个空列表    for i in x: # 循环给定的列表        if len(i) == 4: # 判断字符串长度是否为4            y.append(i) # 将长度为4的字符串加入到列表中    return y

3,斐波那锲数列的问题

类似于斐波那锲数列的算法,给定一个列表,其中包含三个数字,每一个元素为前面三个元素的和(前三个元素除外),你写一个函数 ,参数为一个列表,一个整数。列表包含三个参数,数字表示返回生成列表的前n项。例:tribonacci([1.1.1], 5)  >>> 5tribonacci([0,0,1],4)  >>> 1
def tribonacci(signature, n):    for i in range(3,n): # 3 到 n-1循环        signature.append(signature[i-1] + signature[i-2] + signature[i-3]) # 根据算法写公式    return signature[0:n] # 注意:最后返回值不可以写成return signature这样当n为1,2,时不符合题意

4,求多项式的和

1 + 1/4 + 1/7 +1/10 + 1/13...形如这样的多项式计算前几项的和,写一个函数返回计算的和值,传入参数为自然数,返回值保留两位小数,以字符串形式返回例:  1           1.00     2             1.25     3           1.39     4         1.49
def series_sum(n):    sum = 1    if n == 1 :        return ('%.2f' % sum) # 格式化输出,将浮点数转化为字符串并保留两位小数    elif n == 0 :        return ('%.2f' % 0)    else :        for i in range(1,n):            sum += 1/(i*3+1)    return ('%.2f' % sum)# 注意自然数中包括零

5,求重复次数字母的数量

写一个函数,参数为字符串,用来求出字符串中出现重复字符的个数, 假定字符串只包含字母和数字,字母不区分大小写"abcde" -> 0 # 没有出现重复的字符"aabbcde" -> 2 # 'a' 和 'b'"aabBcde" -> 2 # 'a' 出现两次 'b' 出现两次 (`b` 和 `B`)"indivisibility" -> 1 # 'i' 出现六次"Indivisibilities" -> 2 # 'i' 出现七次  's' 出现两次"aA11" -> 2 # 'a' 和 '1'"ABBA" -> 2 # 'A' 和 ‘B'都出响两次
def duplicate_count(text):    text = text.upper() # 将字符串字母都大写    #不能写成 text,upper() 因为字符串是不可变得    #或者 text = text.lower 将字符串字母小写    x = set(text) # 创建一个集合 集合具有无序性,不重复性,会去掉重复的字母    count = 0 # 用来计算出现重复字母的次数    x = list(x) # 将集合转化为列表,因为集合无法按照位置进行存取    for i in x:        if text.count(i) > 1:            count+=1    return count

 

转载于:https://www.cnblogs.com/cong12586/p/10786709.html

你可能感兴趣的文章
Word操作——通配符
查看>>
『MXNet』第十二弹_再谈新建计算节点
查看>>
JBoss 7 里一个EJB依赖其他jar的几种方式
查看>>
编译器的诞生[三]编译器设计概览【转】
查看>>
Spring里的FactoryBean和BeanFactory有啥区别?
查看>>
使用Dockerfile文件构建基于centOS系统的tomcat镜像
查看>>
Android service broadcast 动态 更新 UI 界面
查看>>
linux -- 视频尺寸-cif、2cif、dcif、D1、HD1、4D1
查看>>
PHP上传图片新组件swfupload
查看>>
android 4.1源码下载方法最新实例教程
查看>>
powerdesigner 设置自动增长列(identity)和默认值
查看>>
Python标准库05 存储对象 (pickle包,cPickle包)
查看>>
CGI知识
查看>>
【转】【WebService】.NET C# 创建WebService服务
查看>>
C语言冒泡排序
查看>>
关于两个时间(00:00:00)相加的实现方法
查看>>
led子系统【转】
查看>>
压缩感知——SP(subspace pursuit)重构算法前言翻译
查看>>
less11 属性合并
查看>>
手写快排模版
查看>>