鱼C论坛

 找回密码
 立即注册
查看: 10394|回复: 104

[技术交流] Python:每日一题 18(答题,给题领鱼币)

[复制链接]
发表于 2017-4-4 09:59:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 新手·ing 于 2017-4-4 14:56 编辑

让用户输入几个数字,然后把用户输入的数字掉个顺序打印(也就是反序)?
使用内置reversed()函数或者使用a[-1::-1]都可以。





如果你认真答题,会得到鱼币奖励!!!
                      如果你认真答题,会得到鱼币奖励!!!
                                              如果你认真答题,会得到鱼币奖励!!!



欢迎小伙伴们,一起答题!
如果你有能力,欢迎加入我们!
已经上车老司机:@ooxx7788 @lumber2388779   
点我上车

游客,如果您要查看本帖隐藏内容请回复


另一个赚鱼币的快传捷方法!如果你有好题目或者是题库,都给我发过来,马上我就没有题啦!!!传送门

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-4-4 09:59:25 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-4 12:22:05 | 显示全部楼层
list.reverse()是对原列表操作
list[::-1]是生成一个新列表
reversed(list)是生成一个新生成器,如果要变成列表,再用list()
用for循环生成新列表也很简单。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-4 12:56:56 | 显示全部楼层
>>> list1 = [1,2,3,4,5,6,7,8]
>>> list1.reverse()
>>> list1
[8, 7, 6, 5, 4, 3, 2, 1]
不知道有没有回答对问题呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 13:09:43 | 显示全部楼层
冬雪雪冬 发表于 2017-4-4 12:22
list.reverse()是对原列表操作
list[::-1]是生成一个新列表
reversed(list)是生成一个新生成器,如果要变 ...

所以回答吧,交出代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 13:09:54 | 显示全部楼层
Sphinx9 发表于 2017-4-4 12:56
>>> list1 = [1,2,3,4,5,6,7,8]
>>> list1.reverse()
>>> list1

仔细读题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-4 13:26:41 | 显示全部楼层
新手·ing 发表于 2017-4-4 13:09
所以回答吧,交出代码

  1. list.reverse()是对原列表操作
  2. >>> list1 = [1, 3, 5, 7, 9]
  3. >>> list1.reverse()
  4. >>> list1
  5. [9, 7, 5, 3, 1]

  6. list[::-1]是生成一个新列表
  7. >>> list1 = [1, 3, 5, 7, 9]
  8. >>> list2 = list1[::-1]
  9. >>> list2
  10. [9, 7, 5, 3, 1]

  11. reversed(list)是生成一个新生成器,如果要变成列表,再用list()
  12. >>> list1 = [1, 3, 5, 7, 9]
  13. >>> list2 = reversed(list1)
  14. >>> list2
  15. <list_reverseiterator object at 0x0408AFF0>
  16. >>> list2 = list(reversed(list1))
  17. >>> list2
  18. [9, 7, 5, 3, 1]

  19. 用for循环生成新列表也很简单。
  20. >>> list1 = [1, 3, 5, 7, 9]
  21. >>> list2 = []
  22. >>> for i in list1:
  23.         list2.insert(0, i)

  24.        
  25. >>> list2
  26. [9, 7, 5, 3, 1]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2017-4-4 13:28:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-4 14:02:56 | 显示全部楼层
只会三种方法,写到一个类里面:
  1. class change(object):
  2.     # 切片方法
  3.     def ltl_1(self,the_list):
  4.         b = the_list[::-1]
  5.         print(b)
  6.         return b
  7.     # for循环方法
  8.     def ltl_2(self,the_list):
  9.         b = []
  10.         for i in range(len(the_list)):
  11.             b.append(the_list[len(the_list)-1-i])
  12.         print(b)
  13.         return (b)
  14.     # 内置函数方法
  15.     def ltl_3(self,the_list):
  16.         the_list.reverse()
  17.         print(the_list)
  18.         return the_list
复制代码


运行如下
  1. a = [1,3,6,7,9]
  2. test = change()
  3. test.ltl_1(a)
  4. test.ltl_2(a)
  5. test.ltl_3(a)

  6. [9, 7, 6, 3, 1]
  7. [9, 7, 6, 3, 1]
  8. [9, 7, 6, 3, 1]
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 14:12:04 | 显示全部楼层
gopythoner 发表于 2017-4-4 14:02
只会三种方法,写到一个类里面:

认真读题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 14:57:26 | 显示全部楼层

出错题了,尴尬...
在回答一次吧,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 14:57:33 | 显示全部楼层
gopythoner 发表于 2017-4-4 14:02
只会三种方法,写到一个类里面:

出错题了,尴尬...
在回答一次吧,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-4 16:14:09 | 显示全部楼层
新手·ing 发表于 2017-4-4 14:57
出错题了,尴尬...
在回答一次吧,谢谢

list1 = input('请输入一组数字,用空格隔开:').split()
print(' '.join(reversed(list1)))
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-4-4 16:16:44 | 显示全部楼层
冬雪雪冬 发表于 2017-4-4 16:14
list1 = input('请输入一组数字,用空格隔开:').split()
print(' '.join(reversed(list1)))

谢谢~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-4 17:15:37 | 显示全部楼层
  1. numbers = input("请输入几个数字,我会将它掉换顺序:")
  2. a = list(numbers)
  3. a.reverse()
  4. length = len(a)
  5. for i in range(length) :
  6.     print(a[i])
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-4-4 22:29:19 | 显示全部楼层
本帖最后由 何小鸣坤 于 2017-4-4 22:44 编辑

sort()可对列表进行排序,如果需要倒序排列只需加上参数,sort(reverse=False),sort()可看成有默认值,如sort(reverse=True)

lt=[]
i=3
while i>=0:
    num=int(input("随意输入数字:\n"))
    lt.append(num)
    i-=1
lt.sort()
print (lt)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-4 23:54:13 | 显示全部楼层
num=input("请输入数字,并用,隔开:")
list1=list(num.split(','))
num2=list(reversed(list1))
print (num2)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 00:10:32 | 显示全部楼层
  1. def getList(count):
  2.     the_list = []
  3.     for i in range(count):
  4.         temp = input('请输入数字:')
  5.         the_list.append(int(temp))
  6.     print('原有列表:')
  7.     print(the_list)
  8.     return the_list


  9. if __name__ == '__main__':
  10.     count = int(input('请选择输入个数:'))
  11.     the_list = getList(count)
  12.     the_list.reverse()
  13.     print('翻转后列表:')
  14.     print(the_list)
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
新手·ing + 3 + 3 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 09:25:22 | 显示全部楼层
看一看,学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-4-5 09:31:20 | 显示全部楼层
本帖最后由 sunnychou 于 2017-4-5 09:32 编辑

.reverse()会改变原来a的值,而[-1::-1],没有改变原来的值
  1. >>> list1
  2. [1, 3, 4, 6, 7, 9]
  3. >>> list1[-1::-1]
  4. [9, 7, 6, 4, 3, 1]
  5. >>> list1
  6. [1, 3, 4, 6, 7, 9]
  7. >>> a = [12,4,5,6]
  8. >>> a.reverse()
  9. >>> a
  10. [6, 5, 4, 12]
  11. >>>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 00:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表