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=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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弈鸣coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值