0

在mblock的python編輯器中，要執行程式時，出現錯誤訊?!syntaxError missing parentheses in call to 'print'

#!/usr/bin/env python
"""
moonphase.py - Calculate Lunar Phase
Author: Sean B. Palmer, inamidst.com
Cf. http://en.wikipedia.org/wiki/Lunar_phase#Lunar_phase_calculation
"""

import math, decimal, datetime
dec = decimal.Decimal

def position(now=None):
if now is None:
now = datetime.datetime.now()

diff = now - datetime.datetime(2001, 1, 1)
days = dec(diff.days) + (dec(diff.seconds) / dec(86400))
lunations = dec("0.20439731") + (days * dec("0.03386319269"))

return lunations % dec(1)

def phase(pos):
index = (pos * dec(8)) + dec("0.5")
index = math.floor(index)
return {
0: "New Moon",
1: "Waxing Crescent",
2: "First Quarter",
3: "Waxing Gibbous",
4: "Full Moon",
5: "Waning Gibbous",
6: "Last Quarter",
7: "Waning Crescent"
}[int(index) & 7]

def main():
pos = position()
phasename = phase(pos)

roundedpos = round(float(pos), 3)
print "%s (%s)" % (phasename, roundedpos)

if name=="main":
main()

dragonH iT邦超人 5 級 ‧ 2020-07-27 14:57:50 檢舉

https://blog.csdn.net/weixin_41100555/article/details/80448483
froce iT邦大師 1 級 ‧ 2020-07-27 15:30:48 檢舉

myubuntu iT邦新手 5 級 ‧ 2020-07-27 15:36:59 檢舉

myubuntu iT邦新手 5 級 ‧ 2020-07-27 15:48:11 檢舉
print(format(phasename))
dragonH iT邦超人 5 級 ‧ 2020-07-27 16:07:57 檢舉
print(f'{phasename} ({roundedpos})')

1 個回答

0

iT邦新手 3 級 ‧ 2020-07-27 16:45:59

print "%s (%s)" % (phasename, roundedpos)

myubuntu iT邦新手 5 級 ‧ 2020-07-27 17:41:41 檢舉

File "main.py", line 41
print "%s (%s)" % (phasename, roundedpos)
^
IndentationError: unindent does not match any outer indentation level