Web*_*ner 77 python python-2.x 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
Run Code Online (Sandbox Code Playgroud)
这是发生的事情:
>>>
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
>>>
Run Code Online (Sandbox Code Playgroud)
sim*_*mon 108
用raw_input而不是input:)
如果使用
input,那么您键入的数据将被解释为Python表达式,这意味着您最终会知道gawd知道目标变量中的对象类型,以及可以生成的各种异常.因此,除非您正在进行临时测试,否则不应该 使用input,只能由熟悉Python表达式的人使用.
raw_input总是返回一个字符串,因为,那就是你总是键入的内容......但是你可以轻松地将它转换为你想要的特定类型,并捕获可能发生的特定异常.希望通过这种解释,知道你应该使用哪个是明智的.
注意:这仅适用于Python 2.对于Python 3,raw_input()已经变得简单input(),Python 2 input()已被删除.
Sen*_*ran 15
缩进它!第一.这会照顾你的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":
....
Run Code Online (Sandbox Code Playgroud)
我有这个错误,因为在一行上缺少右括号。
我开始时遇到了一行问题:
invalid syntax (<string>, line ...)?
在我的脚本末尾。
我删除了那行,然后收到了 EOF 消息。
我使用以下代码来获得 Python 2 和 3 兼容性
if sys.version_info < (3, 0):
input = raw_input
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
419187 次 |
| 最近记录: |