3 回答

TA貢獻1804條經(jīng)驗 獲得超7個贊
用raw_input
而不是input
:)
如果您使用
input
,那么您鍵入的數(shù)據(jù)將被解釋為Python表達式,這意味著您最終會知道gawd知道目標變量中的對象類型,以及可以生成的各種異常。因此,除非您正在進行臨時測試,否則不應(yīng)該 使用input
,只能由熟悉Python表達式的人使用。
raw_input
總是返回一個字符串,因為,那就是你總是鍵入的內(nèi)容......但是你可以輕松地將它轉(zhuǎn)換為你想要的特定類型,并捕獲可能發(fā)生的特定異常。希望通過這種解釋,知道你應(yīng)該使用哪個是明智的。
注意:這僅適用于Python 2.對于Python 3,raw_input()
已經(jīng)變得簡單input()
,Python 2 input()
已被刪除。

TA貢獻1836條經(jīng)驗 獲得超4個贊
縮進它!第一。這會照顧你的SyntaxError
。
除此之外,您的計劃還有其他幾個問題。
使用
raw_input
時,你要接受字符串作為輸入。input
只接受Python表達式并對eval
它們進行處理。您在腳本中使用某些8位字符
0°
。您可能需要使用# -*- coding:latin-1 -*-
通常稱為coding-cookie的行在腳本頂部定義編碼。此外,在進行str比較時,將字符串規(guī)范化并進行比較。(使用lower()的人)這有助于提供用戶輸入的靈活性。
我也認為閱讀Python教程可能對您有所幫助。:)
示例代碼
#-*- coding: latin1 -*-while 1: date=raw_input("Example: March 21 | What is the date? ") if date.lower() == "march 21": ....
添加回答
舉報