python:考试前,练手习题(斐波那契数,字符串排序,九九乘法表,水仙花数,求和...求数字倍数,(保佑不挂科!)

简介: 整理一些练手的题目(含代码),可能不是特别优美,有些繁琐,但是等有时间再优化吧~~1.水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 请编写程序,在一行内,按从小到大的顺序输出所有水仙花数,以空格作为分割

整理一些练手的题目(含代码),可能不是特别优美,有些繁琐,但是等有时间再优化吧~~

1.水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。 请编写程序,在一行内,按从小到大的顺序输出所有水仙花数,以空格作为分割

lst = []
for i in range(100, 1000):
    t = str(i)#字符串可拆解
    if pow(eval(t[0]),3) +pow(eval(t[1]),3) +pow(eval(t[2]),3) == i:
        lst.append(i)
for i in lst:
    print(i,end=" ")

2.在一行内,从键盘输入若干个由空格分隔的英文单词(大小写敏感),将这些单词去重后,按照字典序逆序输出,以元组(tuple)的形式输出。

特别要求:

程序中不允许使用集合(set)(这个变态要求,我查了许久~)

用set

def bb(a):
    return a.lower()
temp=set(input().split())
a=sorted(temp,key=bb,reverse=True)
print(tuple(a))

不用set

def bb(a):
    return a.lower()
temp=tuple(dict.fromkeys(input().split()))
a=sorted(temp,key=bb,reverse=True)
print(tuple(a))

3.从键盘输入一个字符串(只含有英文和中文),将该字符串中第3个字符(含)之后的字符依次转换为对应的unicode编码数字输出(英文输出10进制数,中文输出16进制数)

a=[str(i)for i in input()]
for i in a[2:]:
    if len(str(ord(i)))==5:
        j=i
        b=('%#x'%ord(j))
        print(b,end=' ')
    else:
        c=('%d'%ord(i))
        print(c,end=' ')

4.输出九九乘法表的左下三角

我写的这个应该是算简洁的了,网上我查了许多,都没我这个简单,如有大佬还有更简单的,可以分享分享

for i in range(1,10):
    for j in range(1,i+1):
        print(f'{j:>}*{i:>}={i*j:>2}',end=' ')
    print('')

5.从键盘输入1000个整数,找出其中最大的数和最小的数并输出

l=[]
for i in range(1000):
    l.append(int(input()))
print(max(l),' ',min(l),sep='')

6.从键盘输入两个整数,计算这2个整数(不含)之间所有整数之和。

a,b=input().split(' ')
a=int(a)+1
b=int(b)
sum=0
for i in range(a,b):
    sum+=i
print(sum)

7.使用循环和break以及continue完成下面的程序。

从键盘输入若干整数(整数的数目不确定),计算这些数中不是7的倍数的数的和,并输出。当遇到输入的数是0的时候,停止。

list=[]
while True:
    num=int(input())
    if num==0:
        break
    if num%7==0:
        continue
    list.append(num)
print(sum(list))

8.编写函数fib(n),求斐波那契数列的第n项,作为函数的返回值返回

def fib(n):
    a,b=0,1
    for i in range(n):
        a,b=b,a+b
    return a
相关文章
|
8月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
612 0
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
948 10
|
搜索推荐 Python
快速排序的 Python 实践:从原理到优化,打造你的排序利器!
本文介绍了 Python 中的快速排序算法,从基本原理、实现代码到优化方法进行了详细探讨。快速排序采用分治策略,通过选择基准元素将数组分为两部分,递归排序。文章还对比了快速排序与冒泡排序的性能,展示了优化前后快速排序的差异。通过这些分析,帮助读者理解快速排序的优势及优化的重要性,从而在实际应用中选择合适的排序算法和优化策略,提升程序性能。
524 1
|
数据处理 Python
python遍历文件夹所有文件按什么排序
python遍历文件夹所有文件按什么排序
430 1
|
Python
Python中几种lambda排序方法
【9月更文挑战第7天】在Python中,`lambda`表达式常用于配合排序函数,实现灵活的数据排序。对于基本列表,可以直接使用`sorted()`进行升序或降序排序;处理复杂对象如字典列表时,通过`lambda`指定键值进行排序;同样地,`lambda`也适用于根据元组的不同位置元素来进行排序。
873 1
|
Python
Python魔法:用一行代码实现数据排序
【8月更文挑战第31天】忘掉传统多行排序代码,本文揭秘如何使用一行Python代码快速对数据进行排序,同时深入探讨背后的原理和性能考量。
|
Python
【Leetcode刷题Python】509. 斐波那契数
LeetCode第509题"斐波那契数"的两种Python解决方案:一种是递归方法,另一种是使用滚动数组的迭代方法,以计算第n个斐波那契数。
172 2
|
分布式计算 并行计算 算法
探索排序的宇宙奥秘:Python中归并排序的并行处理与分布式应用!
【7月更文挑战第11天】归并排序是一种分治算法,适用于并行和分布式处理。在Python中,利用`concurrent.futures`可实现并行归并排序,但因GIL限制,可能需借助`multiprocessing`或GPU库。分布式归并排序则通过分布式框架如Apache Spark处理大规模数据,每个节点独立排序后进行网络合并。并行与分布式技术提升了处理大数据的速度和效率。**
324 9
|
Python
【Python】对字典进行排序
该文档介绍了如何在Python中对字典进行排序的方法。
343 2
|
存储 算法 搜索推荐
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
算法进阶之路:Python 归并排序深度剖析,让数据排序变得艺术起来!
294 0

推荐镜像

更多