解析时Python意外的EOF

解析时Python意外的EOF

这是我的python代码。有人能告诉我它有什么问题。

while 1:date=input("Example: March 21 | What is the date? ")if date=="June 21":
    sd="23.5° North Latitude"if date=="March 21" | date=="September 21":
    sd="0° Latitude"if date=="December 21":
    sd="23.5° South Latitude"if sd:
    print sd

这是发生的事情:

>>> Example: March 21 | What is the date? Traceback (most recent call last):
  File "C:\Users\Daniel\Desktop\Solar Declination Calculater.py", line 2, in <module>
    date=input("Example: March 21 | What is the date? ")
  File "<string>", line 0

   ^SyntaxError: unexpected EOF while parsing>>>


温温酱
浏览 3394回答 3
3回答

三国纷争

用raw_input而不是input:)如果您使用input,那么您键入的数据将被解释为Python表达式,这意味着您最终会知道gawd知道目标变量中的对象类型,以及可以生成的各种异常。因此,除非您正在进行临时测试,否则不应该&nbsp;使用input,只能由熟悉Python表达式的人使用。raw_input总是返回一个字符串,因为,那就是你总是键入的内容......但是你可以轻松地将它转换为你想要的特定类型,并捕获可能发生的特定异常。希望通过这种解释,知道你应该使用哪个是明智的。参考注意:这仅适用于Python 2.对于Python 3,raw_input()已经变得简单input(),Python 2&nbsp;input()已被删除。

HUH函数

缩进它!第一。这会照顾你的SyntaxError。除此之外,您的计划还有其他几个问题。使用raw_input时,你要接受字符串作为输入。input只接受Python表达式并对eval它们进行处理。您在脚本中使用某些8位字符0°。您可能需要使用# -*- coding:latin-1 -*-通常称为coding-cookie的行在脚本顶部定义编码。此外,在进行str比较时,将字符串规范化并进行比较。(使用lower()的人)这有助于提供用户输入的灵活性。我也认为阅读Python教程可能对您有所帮助。:)示例代码#-*-&nbsp;coding:&nbsp;latin1&nbsp;-*-while&nbsp;1: &nbsp;&nbsp;&nbsp;&nbsp;date=raw_input("Example:&nbsp;March&nbsp;21&nbsp;|&nbsp;What&nbsp;is&nbsp;the&nbsp;date?&nbsp;") &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;date.lower()&nbsp;==&nbsp;"march&nbsp;21": &nbsp;&nbsp;&nbsp;&nbsp;....
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python