• 神奇的Python,一行代码能做哪些炫酷的事情?


    神奇的Python,一行代码能哪些炫酷的事情?

     

    可能大家在网上已经看过类似的python单行代码可以实现的功能,比如:

    九九乘法表:

    print(' '.join([' '.join(['%s*%s=%-2s'%(y,x,x*y)for y in range(1,x+1)]) for x in range(1,10)]))

    神奇的Python,一行代码能哪些炫酷的事情?

     

    或者输出前100项斐波那契数列的值:

    print([x[0] for x in [ (a[i][0], a.append((a[i][1], a[i][0]+a[i][1]))) for a in ([[1,1]], ) for i in range(100) ]])

    神奇的Python,一行代码能哪些炫酷的事情?

     

    嗯,这些都可以做到,那么下面的这些炫酷的代码,更值得一看!

    单线迷宫(cmd下输入):

    python -c "while 1:import random;print(random.choice('|| __'), end='')"
    神奇的Python,一行代码能哪些炫酷的事情?

     

    emmmm,这个可能比较抽象,那么试试将里面的字符换一下,比如下面这个代码python -c "while 1:import random;print(random.choice('╱╲'), end='')"
    神奇的Python,一行代码能哪些炫酷的事情?

     

    这个迷宫效果还可以吧!

    猜数字

    好多的教程中都有这个小案例,那么你用了几行呢?试试下面这个

    python -c "import random;n=random.randint(1,99);[(lambda a:print('Y' if a==n else 'H' if a>n else 'L'))(int(input())) for i in range(6)]"

    神奇的Python,一行代码能哪些炫酷的事情?

     

    是的,你没有看错,一行代码可以实现这个功能!

    100英尺高尔夫

    参照了“愤怒的小鸟”,目标是让高尔夫刚好落到100英尺处,不多不少!

    import math as m;a,v=eval(input());[print('%03d'%x+' '*m.floor(0.5+x*m.tan(a)-x*x/(v*m.cos(a)))+'o') for x in range(102)]

    神奇的Python,一行代码能哪些炫酷的事情?

     

    需要输入2个参数,也就是高尔夫的角度和速度!

    最后

    这些代码使用的大多数技术应该看起来很熟悉:

    列表解析,lambda表达式和随机整数,通过几个函数的组合,可以写出很酷的代码!

  • 相关阅读:
    用户数据报协议---UDP
    斐波那契数列
    从尾到头打印链表
    Mybatis三种查询方式
    Mybatis配置
    字典的用法
    遍历列表、切片、定义元组
    与列表相关知识
    python一些方法总结
    计算机的容量
  • 原文地址:https://www.cnblogs.com/qun542110741/p/9218724.html
Copyright © 2020-2023  润新知