推荐学习书目
› 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 · Jul 25, 2017 · 6911 views
    This topic created in 3393 days ago, the information mentioned may be changed or developed.

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

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

    Supplement 1  ·  Jul 25, 2017
    具体如图
    27 replies  •  2017-07-26 21:21:46 +08:00
    laoli123
    laoli123
    Jul 25, 2017
    2
    我这边可以哦
    helloSwift
    helloSwift
    Jul 25, 2017
    3
    缩进的区别

    ![]( )

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

    sum = reduce(lambda a,b: a + b, range(100))
    zhangsen1992
    zhangsen1992
    Jul 26, 2017
    24
    sum(range(1,101))
    jsoncai
    jsoncai
    Jul 26, 2017
    25
    因为没有用游标卡尺
    helloSwift
    helloSwift
    Jul 26, 2017
    26
    @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
    jerryshao
    Jul 26, 2017
    27
    你新加的那个图...
    `for x in number(range(101))` 里面这 number 是哪来的?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   641 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 18:36 · PVG 02:36 · LAX 10:36 · JFK 13:36
    ♥ Do have faith in what you're doing.