L1-027 出租(python)

目录

题目:

输入格式:

输出格式:

输入样例:

输出样例:

代码:

代码解读(函数介绍):

输出部分:

排序部分: 

sort()

sorted()


题目:

下面是新浪微博上曾经很火的一张图:

一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1index[1]=0 对应 arr[0]=8index[2]=3 对应 arr[3]=0,以此类推…… 很容易得到电话号码是18013820100

本题要求你编写一个程序,为任何一个电话号码生成这段代码 —— 事实上,只要生成最前面两行就可以了,后面内容是不变的。

输入格式:

输入在一行中给出一个由11位数字组成的手机号码。

输出格式:

为输入的号码生成代码的前两行,其中arr中的数字必须按递减顺序给出。

输入样例:

18013820100

输出样例:

int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

代码:

num=input()
num=[int(item) for item in num]
index=[]
arr=[]
#去除重复项,排序
for i in num:
    if i not in arr:
        arr.append(i)
arr.sort(reverse=True)
for i in num:
    index.append(arr.index(i))
print("int[] arr = new int[]{",end='')
print(*arr,sep=',',end='')

print("};")
print("int[] index = new int[]{",end='')
print(*index,sep=',',end='')
print("};")

代码解读(函数介绍):

输出部分:

根据这道题,我们在输出的时候只想保证数字见有逗号,最后没有,这在很多题中出现,这里说一下参数sep

首先说明一下输出函数:

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

 参数:

  • objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep -- 用来间隔多个对象,默认值是一个空格。
  • end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
  • file -- 要写入的文件对象。
  • flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

这里只介绍前三项:

 >>>print(1)  
1  
>>> print("Hello World")  
Hello World  
 
>>> a = 1
>>> b = 'like'
>>> print(a,b)
1 like            #sep默认值时空格
 
>>> print("aaa""bbb")
aaabbb
>>> print("aaa","bbb")
aaa bbb
>>> 
 
>>> print("www","baidu","com",sep=".")  # 设置间隔符
www.baidu.com

排序部分: 

列表中函数sort()和sorted()

sort()

list.sort(cmp=None, key=None, reverse=False)

参数:

  • cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)

sorted()

sorted(iterable, cmp=None, key=None, reverse=False)

参数:

  • iterable -- 可迭代对象。
  • cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
  • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
  • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)

两个的区别:

sorted函数生成新的列表,而sort在原列表中改变。

  • 23
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

z_e_r_o___

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

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

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

打赏作者

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

抵扣说明:

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

余额充值