700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > python:考试前 练手习题(斐波那契数 字符串排序 九九乘法表 水仙花数 求和...求

python:考试前 练手习题(斐波那契数 字符串排序 九九乘法表 水仙花数 求和...求

时间:2024-05-02 00:55:46

相关推荐

python:考试前 练手习题(斐波那契数 字符串排序 九九乘法表 水仙花数 求和...求

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

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=ib=('%#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)+1b=int(b)sum=0for i in range(a,b):sum+=iprint(sum)

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

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

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

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

def fib(n):a,b=0,1for i in range(n):a,b=b,a+breturn a

代码的写法有很多种,没有最好只有更好,欢迎大家的分享

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。