鱼C论坛

 找回密码
 立即注册
查看: 11449|回复: 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
所以回答吧,交出代码
list.reverse()是对原列表操作
>>> list1 = [1, 3, 5, 7, 9]
>>> list1.reverse()
>>> list1
[9, 7, 5, 3, 1]

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

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

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

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

使用道具 举报

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

使用道具 举报

发表于 2017-4-4 14:02:56 | 显示全部楼层
只会三种方法,写到一个类里面:
class change(object):
    # 切片方法
    def ltl_1(self,the_list):
        b = the_list[::-1]
        print(b)
        return b
    # for循环方法
    def ltl_2(self,the_list):
        b = []
        for i in range(len(the_list)):
            b.append(the_list[len(the_list)-1-i])
        print(b)
        return (b)
    # 内置函数方法
    def ltl_3(self,the_list):
        the_list.reverse()
        print(the_list)
        return the_list

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

[9, 7, 6, 3, 1]
[9, 7, 6, 3, 1]
[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 | 显示全部楼层
numbers = input("请输入几个数字,我会将它掉换顺序:")
a = list(numbers)
a.reverse()
length = len(a)
for i in range(length) :
    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 | 显示全部楼层
def getList(count):
    the_list = []
    for i in range(count):
        temp = input('请输入数字:')
        the_list.append(int(temp))
    print('原有列表:')
    print(the_list)
    return the_list


if __name__ == '__main__':
    count = int(input('请选择输入个数:'))
    the_list = getList(count)
    the_list.reverse()
    print('翻转后列表:')
    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],没有改变原来的值
>>> list1
[1, 3, 4, 6, 7, 9]
>>> list1[-1::-1]
[9, 7, 6, 4, 3, 1]
>>> list1
[1, 3, 4, 6, 7, 9]
>>> a = [12,4,5,6]
>>> a.reverse()
>>> a
[6, 5, 4, 12]
>>> 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 06:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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