解析时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>>>
3 回答
三国纷争
TA贡献1804条经验 获得超7个赞
用raw_input而不是input:)
如果您使用
input,那么您键入的数据将被解释为Python表达式,这意味着您最终会知道gawd知道目标变量中的对象类型,以及可以生成的各种异常。因此,除非您正在进行临时测试,否则不应该 使用input,只能由熟悉Python表达式的人使用。
raw_input总是返回一个字符串,因为,那就是你总是键入的内容......但是你可以轻松地将它转换为你想要的特定类型,并捕获可能发生的特定异常。希望通过这种解释,知道你应该使用哪个是明智的。
注意:这仅适用于Python 2.对于Python 3,raw_input()已经变得简单input(),Python 2 input()已被删除。
HUH函数
TA贡献1836条经验 获得超4个赞
缩进它!第一。这会照顾你的SyntaxError。
除此之外,您的计划还有其他几个问题。
使用
raw_input时,你要接受字符串作为输入。input只接受Python表达式并对eval它们进行处理。您在脚本中使用某些8位字符
0°。您可能需要使用# -*- coding:latin-1 -*-通常称为coding-cookie的行在脚本顶部定义编码。此外,在进行str比较时,将字符串规范化并进行比较。(使用lower()的人)这有助于提供用户输入的灵活性。
我也认为阅读Python教程可能对您有所帮助。:)
示例代码
#-*- coding: latin1 -*-while 1:
date=raw_input("Example: March 21 | What is the date? ")
if date.lower() == "march 21":
....添加回答
举报
0/150
提交
取消
