【问题标题】:Using If, elif, else, using formulas instead of print statements使用 If、elif、else,使用公式而不是打印语句
【发布时间】:2017-05-20 09:43:59
【问题描述】:

* 中有人回答了我的问题,这很好,我需要用公式替换打印语句。

这样做的原因是我可以将输出转换为小时、分钟、秒。

有多个打印语句和包含的公式,我无法将它们分开。

我有三个逻辑,但只需要将它们分成像 print 语句这样的公式。

原程序:

T17 = input('?')

if T17 < 0:
     print("LOCAL SIDEREAL TIME",T17 + 24)

elif T17 > 24:
    print("LOCAL SIDEREAL TIME",T17 - 24)

else:
        print("LOCAL SIDEREAL TIME",T17)

这就是我想要做的。

T17 = input('?')

if T17 < 0:

 T17 + 24

elif T17 > 24:

 T17 - 24

else:

 print("LOCAL SIDEREAL TIME",T17)

【问题讨论】:

    标签: python if-statement


    【解决方案1】:

    您似乎打算将计算重新分配回T17

    T17 = input('?')
    if T17 < 0:
        T17 = T17 + 24
    elif T17 > 24:
        T17 = T17 - 24
    
    print("LOCAL SIDEREAL TIME", T17)
    

    【讨论】:

    • 尽管 if/elif 块内左侧的 T17 可以命名为任何名称,只要 arg 名称与最终打印语句中的 arg 名称匹配。
    • 非常感谢,刚刚学习并需要额外的洞察力。
    • 我绝不是专家,但我发现 this source 对开始使用计算 Python 很有帮助。
    【解决方案2】:

    看起来你只是想实现modulo

    >>> -10 % 24
    14
    >>> 34 % 24
    10
    >>> 16 % 24
    16
    

    所以:

    t17 = t17 % 24
    

    应该没问题。

    最后,如果您正在使用 Python 研究天文学,请务必查看 Astropy

    【讨论】:

      最近更新 更多