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
zyqf
V2EX  ›  Python

python 一个数学问题,毁三观了啊啊啊啊

  •  
  •   zyqf · 2015-07-15 21:00:28 +08:00 · 5185 次点击
    这是一个创建于 3420 天前的主题,其中的信息可能已经有所发展或是发生改变。

    print 100 -25 * 3 % 4 #输出是97.我同学说%4等价于 *0.04,然后我去算了一遍,结果和程序相符.

    print 100 % 3 #输出是1,按照上面的说法,不对.如果说是取余数的话,对的,可是这样的话,上面又不对.

    第 1 条附言  ·  2015-07-15 23:24:49 +08:00
    弄清楚了,谢谢大家.
    因为在学python,书名叫<<笨方法学python>>,里面有个解释是 "
    这章练习里有很多的数学运算符号。我们来看一遍它们都叫什么名字。你要一边写一边念出它们的名字
    来,直到你念烦了为止。名字如下:
    • + plus 加号
    • - minus 减号
    • / slash 斜杠
    • * asterisk 星号
    • % percent 百分号
    • < less-than 小于号
    • > greater-than 大于号
    • <= less-than-equal 小于等于号
    • >= greater-than-equal 大于等于号
    "
    可能我同学误解了,误打误撞就算出来,真是巧合啊........
    也怪我立场不坚定,我之前是以为取模运算的,之所以怀疑,是因为我太久没接触程序了,习惯直接除过去.

    让大家开怀一笑也满好的,谢谢大家的解答.
    第 2 条附言  ·  2015-07-15 23:25:53 +08:00
    额外说句,笨方法学python ,不晓得翻译的怎么样,只能将就了,英文理解比较吃力.
    36 条回复    2015-07-16 14:01:21 +08:00
    sandideas
        1
    sandideas  
       2015-07-15 21:04:12 +08:00   ❤️ 1
    3*25=75
    75%4=3
    100-3=97

    %不是取模的意思么?
    expkzb
        2
    expkzb  
       2015-07-15 21:05:29 +08:00   ❤️ 1
    取余哪里不对了
    75 % 4 = 3
    fy
        3
    fy  
       2015-07-15 21:05:56 +08:00   ❤️ 1
    你同学说的是百分之四
    zhicheng
        4
    zhicheng  
       2015-07-15 21:06:41 +08:00 via Android   ❤️ 2
    是智商毁了,跟三观没关系。
    tonynothing
        5
    tonynothing  
       2015-07-15 21:07:20 +08:00   ❤️ 1
    1楼说的对啊。。你同学挺逗的。
    Sharuru
        6
    Sharuru  
       2015-07-15 21:08:41 +08:00   ❤️ 1
    …… % 是取模,不是百分比……
    你要了解运算符优先级和运算规则就不会觉得毁三观了。
    乘法、除法、取模运算虽然同级,计算时从左往右进行。

    你会轻易的相信 %4 = *0.04 倒是蛮毁我三观的。 -_,-
    gxm123gxm
        7
    gxm123gxm  
       2015-07-15 21:10:15 +08:00
    Lz的三观亟待加强啊:)
    zyqf
        8
    zyqf  
    OP
       2015-07-15 21:11:10 +08:00
    感激不尽,都是新手.......
    Gonster
        9
    Gonster  
       2015-07-15 21:11:11 +08:00
    😰😂😅笑死我了
    mahone3297
        10
    mahone3297  
       2015-07-15 21:15:25 +08:00
    我勒个去。。。
    jas0ndyq
        11
    jas0ndyq  
       2015-07-15 21:28:45 +08:00
    点进来之前以为是算法题~
    5up3r
        12
    5up3r  
       2015-07-15 21:35:06 +08:00
    233333……
    laiyilong
        13
    laiyilong  
       2015-07-15 21:56:59 +08:00 via Android
    @jas0ndyq 我也以为是什么不用循环和内置函数得出某数在列表里这类奇葩的问题。。。
    theoractice
        14
    theoractice  
       2015-07-15 22:01:39 +08:00
    没有人看出来这是个巧合么。LZ 毁三观的原因是 25*3*0.04 恰好等于 25*3%4。
    KingHL
        15
    KingHL  
       2015-07-15 22:06:44 +08:00
    真的是毁三观呀
    ChangxuBlack
        16
    ChangxuBlack  
       2015-07-15 22:23:34 +08:00
    我被你毁了三观,%一直是取模吧
    wy315700
        17
    wy315700  
       2015-07-15 22:24:42 +08:00
    看了楼主的分析,我觉得我的三观毁了。
    cullion
        18
    cullion  
       2015-07-15 22:27:34 +08:00
    被楼主毁了三观了
    abscon
        19
    abscon  
       2015-07-15 22:31:46 +08:00 via iPhone
    虽然大家纷纷表示 % 天经地义就是取模,但我觉得对于没有相关经验的人来说倒真的会误解为百分号呢……
    有的语言用其它符号表示取模。
    laoyuan
        20
    laoyuan  
       2015-07-15 22:37:27 +08:00
    我知道mod 和 % 是两回事,好像处理负数的时候不一样
    Cynic222
        21
    Cynic222  
       2015-07-15 22:58:13 +08:00
    @abscon 不会吧,4% == %4 ?
    ceclinux
        22
    ceclinux  
       2015-07-15 22:59:05 +08:00
    lz真逗,不过人人刚开始学都差不多这个样
    CX15
        23
    CX15  
       2015-07-15 23:00:01 +08:00
    booooooom,题主为了搏大家一笑,真是良苦用心!好评
    zyqf
        24
    zyqf  
    OP
       2015-07-15 23:10:56 +08:00
    @theoractice 是啊,直接拿计算器算了,结果把小学除法给忘了,习惯了直接除了.........
    zyqf
        25
    zyqf  
    OP
       2015-07-15 23:13:10 +08:00
    @ceclinux 初中学过c语言,感觉就是取模的意思,然后太久没写程序了,习惯直接除过去,导致算错了.
    ryrubyy
        26
    ryrubyy  
       2015-07-15 23:16:15 +08:00
    75 x 4 = 75 % 4
    Over.
    imlonghao
        27
    imlonghao  
       2015-07-16 00:43:01 +08:00 via Android
    100 -25 * 3 % 4

    25 x 3 = 75
    75 / 4 = 18 余数 3
    100 - 3 = 98
    zyqf
        28
    zyqf  
    OP
       2015-07-16 00:44:05 +08:00
    imlonghao
        29
    imlonghao  
       2015-07-16 00:46:02 +08:00 via Android
    100 -25 * 3 % 4

    25 x 3 = 75
    75 / 4 = 18 余数 3
    100 - 3 = 97

    原谅我躺在床上,via Android
    402645707
        30
    402645707  
       2015-07-16 01:00:15 +08:00 via Android
    表示这是我上v2以来唯一感到自尊的帖子
    天天刷算法
    tm到现在用c连fopen读文件都写不熟
    tm到现在写出来的自己都不能看
    msg7086
        31
    msg7086  
       2015-07-16 02:25:32 +08:00
    @ryrubyy 你这什么鬼。

    =====

    25 * 4% == 25 % 4
    targz
        32
    targz  
       2015-07-16 08:02:33 +08:00 via Android
    楼主需要补充一下基础知识。。。找本书看看,可以让你有个系统的了解,就不会遇到这种事了。
    skye
        33
    skye  
       2015-07-16 09:18:04 +08:00
    你是猴子请来的打段子手么?
    lingo233
        34
    lingo233  
       2015-07-16 10:37:13 +08:00
    这是取模,百分号是放在数前面的。
    ➜ ~ echo $((100-25*3%4))
    97
    abscon
        35
    abscon  
       2015-07-16 11:48:01 +08:00 via iPhone
    @Cynic222 不要小看初学者的脑补能力,也许他逐字读出来了:“百分…之四,呃,乘法可以省略不写,所以是乘以0.04”
    sinux
        36
    sinux  
       2015-07-16 14:01:21 +08:00
    有此等同学,何愁不成ACM大手子
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4683 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 10:07 · PVG 18:07 · LAX 02:07 · JFK 05:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.