鱼C论坛

 找回密码
 立即注册
楼主: wei_Y

[技术交流] 【Challenge】仅用一条循环语句完成的乘法表

[复制链接]
发表于 2015-9-18 11:13:44 | 显示全部楼层
  1. def test(n):
  2.     for i in range(1, n+1):
  3.         a = [i] * i
  4.         b = list(enumerate(a, 1))
  5.         m = list(map(lambda x: x[0] * x[1], b))
  6.         s = list(map(str, m))
  7.         print(' '.join(s))

  8. test(11)
复制代码

点评

我很赞同!: 4.0
我很赞同!: 4
一个循环内只能用一个变量~  发表于 2015-9-18 17:45
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 11:32:46 | 显示全部楼层
jiagd0105 发表于 2015-9-18 11:01
能在这个基础上优化一下么?

这样吧:
  1. def maketable(n):
  2.    
  3.     print('\n'.join('\t'.join(list(map(lambda y: str(x*y), range(1, x+1)))) for x in range(1, n+1)))

  4.     return
复制代码

点评

我很赞同!: 3.0
我很赞同!: 3
还是有两个range...  发表于 2015-9-18 17:50
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 12:17:01 | 显示全部楼层

回帖奖励 +3 鱼币

用什么语言这是。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 13:04:26 | 显示全部楼层

回帖奖励 +3 鱼币

n=1
while n<81:
        print('''1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
10 20 30 40 50 60 70 80 90 100''')
        n=81
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 13:06:13 | 显示全部楼层

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

使用道具 举报

发表于 2015-9-18 14:21:57 | 显示全部楼层

out也算第二个变量?那我只能牺牲可读性了
  1. def func(n):
  2.         item=[]
  3.         for i in range(1,n+1):
  4.                 item.append("%d*{0}"%i)
  5.                 print("".join(str(eval(",".join(item).format(i))).strip("()").split(",")))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 15:02:00 | 显示全部楼层

回帖奖励 +3 鱼币

def test(n):
    b=[]
    for i in xrange(1,n+1):
        b.append(i)
        print('%d '* i % tuple(map(lambda x:x*i,b)))

点评

我很赞同!: 4.0
我很赞同!: 4
一个循环内只能有一个变量~  发表于 2015-9-18 17:52
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 15:55:58 | 显示全部楼层

回帖奖励 +3 鱼币

我就想看到答案!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 19:19:54 | 显示全部楼层

就一个 i 啊, 就是不知道用map算不算违规

点评

我很赞同!: 4.0
我很赞同!: 4
能用啊。。。题目说任何除了range的内置函数都可以用  发表于 2015-9-18 20:55
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 19:29:11 | 显示全部楼层
  1. def test(n):
  2.     for i in range(1, n+1):
  3.         print(' '.join(list(map(str, list(map(lambda x: x[0] * x[1], list(enumerate([i] * i, 1))))))))

  4. test(11)
复制代码


一定要这样才算一个变量?和上面没区别啊。 还是说问题出在别的地方,比如map

点评

我很赞同!: 4.0
恭喜你成功地解决了本题^_^  发表于 2015-9-18 21:02
我很赞同!: 4
就是说不能用 变量 = 值,嵌套在一起,像这样,是可以的  发表于 2015-9-18 20:57
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-18 21:18:23 | 显示全部楼层
本帖最后由 戴宇轩 于 2015-9-18 21:22 编辑
Reed 发表于 2015-9-18 19:29
一定要这样才算一个变量?和上面没区别啊。 还是说问题出在别的地方,比如map


帮你化简了一下
  1. for i in range(1,int(input())+1):print(' '.join(map(lambda x:str(x[0]*x[1]),enumerate([i]*i,1))))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-19 10:07:04 | 显示全部楼层
azy565297298 发表于 2015-9-18 15:02
def test(n):
    b=[]
    for i in xrange(1,n+1):

那就只能够把i换成len(b)咯!这样那就不是一个变量了咯。

点评

我很赞同!: 3.0
我很赞同!: 3
就是说你只能在循环里使用i,不能用其它的,当然把i换成其它的也行  发表于 2015-9-19 11:39
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-21 16:25:08 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

发表于 2015-9-22 15:41:39 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

发表于 2015-9-23 08:18:53 | 显示全部楼层
为了玉璧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-24 07:39:27 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

发表于 2015-9-24 10:25:12 | 显示全部楼层
路过为了玉璧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-9-29 10:55:41 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

发表于 2015-9-29 21:06:04 | 显示全部楼层
嗯,好啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-10-5 22:08:12 | 显示全部楼层

回帖奖励 +3 鱼币

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-28 16:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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