Python天梯赛10分题-念数字、求整数段和、比较大小、计算阶乘和

发布于:2025-02-25 ⋅ 阅读:(15) ⋅ 点赞:(0)

 007-念数字

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

输入格式:

输入在一行中给出一个整数,如:1234

提示:整数包括负数、零和正数。

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si

输入样例:

-600

输出样例:

fu liu ling ling

 这里每个数字和符号都有对应的输出模式,我们很显然能想到字典的表达方式,做到键值对的一一对应。

代码

n = input()
#建立一个字典
d = {'-':'fu','0':'ling','1':'yi','2':'er','3':'san','4':'si','5':'wu','6':'liu','7':'qi','8':'ba','9':'jiu'}
for i in n[0:-1]:
    #n[0:-1]:n数组从第一个元素到倒数第二个元素,切片前包后不包
        print(d[i],end=' ')
print(d[n[-1]])

008-求整数段和

给定两个整数A和B,输出从A到B的所有整数以及这些数的和。

输入格式:

输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。

输出格式:

首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X

输入样例:

-3 8

输出样例:

   -3   -2   -1    0    1
    2    3    4    5    6
    7    8
Sum = 30
a,b=map(int,input().split())#赋值给AB
hang=0;sum=0
for i in range(a,b+1):
    print("%5d"%(i),end="")
    #%5d是将每格宽度为5,右对齐输出,不到5位的左边空出
    #%-5d:左对齐,右边补空格
    #%05d,和%5d差不多,只不过左边补0
    #%.5d从执行效果来看,和%05d一样
#以上这些可以理解成,制作一个每格五个单位的表格,在文档中设置左对齐右对齐。
    hang+=1
    sum+=i
    if hang%5==0:
        print(end="\n")
        #每五个换一行
    elif i==b:
        print()
print("Sum = %d" % (sum))

010-比较大小

本题要求将输入的任意3个整数从小到大输出。

输入格式:

输入在一行中给出3个整数,其间以空格分隔。

输出格式:

在一行中将3个整数从小到大输出,其间以“->”相连。

输入样例:

4 2 8

输出样例:

2->4->8

代码 

m = list(map(int,input().split()))
#sort排序函数
#这里可以去搜索相关sorted的用法,进行区别
m.sort()
#%d输出整数数字
print("%d->%d->%d"%(m[0],m[1],m[2]))

013-计算阶乘和

对于给定的正整数N,需要你计算 S=1!+2!+3!+...+N!。

输入格式:

输入在一行中给出一个不超过10的正整数N。

输出格式:

在一行中输出S的值。

输入样例:

3

输出样例:

9

代码 

n = int(input())
a = 1
sum = 0
#循环遍历1到输入的数这个范围之内的每一个数,计算其阶乘之后求和    
for i in range(1,n+1):
#等号右边的a是前一个数的阶乘,再乘这个数,即为当下这个数的阶乘
    a = a*i
    sum = sum+s
print(sum)

 注:这些代码其中很多是我很久之前学编程的时候做过的,很多可能借鉴了当时比较火的方法、资料或者身边人的思维,也有的题当时就注释了一些很基础的知识点,现在重新梳理我重新阅读了代码,加入了一些更直接的注释方便大家理解。若有侵权,请联系我我将及时撤回。


网站公告

今日签到

点亮在社区的每一天
去签到