V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Kung815
V2EX  ›  Python

计算这个 1 到 100 之和的代码为什么会出错?

  •  
  •   Kung815 · 2017-07-25 15:03:09 +08:00 · 5579 次点击
    这是一个创建于 2669 天前的主题,其中的信息可能已经有所发展或是发生改变。

    sum = 0 for x in range(101): sum = sum + x print(sum)

    报错说 invalid syntax 如果将 print 缩进, 则是将每次和都返回, 不是我想要的结果。 所以请问怎么只返回 5050

    第 1 条附言  ·  2017-07-25 22:46:02 +08:00
    具体如图
    27 条回复    2017-07-26 21:21:46 +08:00
    xiaobai987
        1
    xiaobai987  
       2017-07-25 15:20:19 +08:00
    xiaobai987
        2
    xiaobai987  
       2017-07-25 15:20:39 +08:00
    我这边可以哦
    helloSwift
        3
    helloSwift  
       2017-07-25 15:43:39 +08:00
    缩进的区别

    ![]( )

    ![]( )
    rocksolid
        4
    rocksolid  
       2017-07-25 15:48:14 +08:00
    print(sum([x for x in range(101)]))
    SuT2i
        5
    SuT2i  
       2017-07-25 15:49:37 +08:00
    我这里也可以
    sagaxu
        6
    sagaxu  
       2017-07-25 15:50:34 +08:00
    @rocksolid print(sum(range(101)))
    rocksolid
        7
    rocksolid  
       2017-07-25 15:58:34 +08:00
    @sagaxu 我多此一举了。。。
    vmwarenat8
        8
    vmwarenat8  
       2017-07-25 16:02:45 +08:00
    @sagaxu 膜拜 6 楼
    Kung815
        9
    Kung815  
    OP
       2017-07-25 22:47:04 +08:00
    @xiaobai987 新加了图片
    Kung815
        10
    Kung815  
    OP
       2017-07-25 22:48:27 +08:00
    @helloSwift 第二种情况会报错, 请看新加的图片
    lcdtyph
        11
    lcdtyph  
       2017-07-25 23:28:52 +08:00
    @Kung815 你在交互式界面输入循环判断之类的 block, 最后要留个空行, 让解释器知道 for block 结束了. 然后再输入后面的 print 语句.
    weyou
        12
    weyou  
       2017-07-25 23:31:58 +08:00 via Android
    高斯说 print(5050)
    lxiange
        13
    lxiange  
       2017-07-25 23:45:45 +08:00   ❤️ 6
    @weyou #12
    clang 说:
    printf("5050");
    yangzzcc
        14
    yangzzcc  
       2017-07-26 01:07:22 +08:00 via Android
    @helloSwift 这是什么字体?
    weyou
        15
    weyou  
       2017-07-26 02:45:47 +08:00 via Android
    @lxiange omg,clang 的优化做到如此地步了?!
    congeec
        16
    congeec  
       2017-07-26 05:22:03 +08:00
    @weyou
    C++ 委员会: 我们要 constexpr
    clang 开发者: 哔了狗了
    ....
    clang 开发者: 行行行,现在能 const 的都 const 啦
    Xs0ul
        17
    Xs0ul  
       2017-07-26 06:55:18 +08:00   ❤️ 1
    先运行前两行(循环和加)外加一个空行,然后再 print
    另外 number 是什么鬼(
    SingeeKing
        18
    SingeeKing  
       2017-07-26 08:01:44 +08:00
    在解释器里面运行的话循环结束之后需要先打一个 enter,然后再输入循环外语句
    ryd994
        19
    ryd994  
       2017-07-26 08:07:58 +08:00 via Android
    @lxiange gcc -O4 发给 Jeff Dean 用机器码重写
    ikeeper
        20
    ikeeper  
       2017-07-26 08:20:14 +08:00
    @helloSwift 用的 atom 吗,请教怎么配置 python3
    SuT2i
        21
    SuT2i  
       2017-07-26 08:20:24 +08:00 via Android
    @Xs0ul 17 楼说的对 解释器中 循环体结束后 才能继续敲语句 (双击回车,再 print )
    araraloren
        22
    araraloren  
       2017-07-26 08:56:46 +08:00
    。。。唉 垃圾 python 用个 REPL 也要注意空格。。
    wizardoz
        23
    wizardoz  
       2017-07-26 09:28:51 +08:00
    from functools import reduce

    sum = reduce(lambda a,b: a + b, range(100))
    zhangsen1992
        24
    zhangsen1992  
       2017-07-26 09:46:36 +08:00
    sum(range(1,101))
    jsoncai
        25
    jsoncai  
       2017-07-26 09:48:50 +08:00
    因为没有用游标卡尺
    helloSwift
        26
    helloSwift  
       2017-07-26 09:53:37 +08:00
    @Kung815

    11 楼说的对,留空行


    @yangzzcc

    Atom 编辑器,
    主题 one dark, atom 自带的,终端我用这个 https://github.com/nathanbuchar/atom-one-dark-terminal
    字体 Source Code Pro-Light 13 , https://github.com/adobe-fonts/source-code-pro


    @ikeeper

    是 atom
    直接写的,没啥特别配置 😂
    jerryshao
        27
    jerryshao  
       2017-07-26 21:21:46 +08:00
    你新加的那个图...
    `for x in number(range(101))` 里面这 number 是哪来的?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1683 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.