我在想如何將以下C++代碼翻譯成Python代碼。從Python中讀取輸入並在while循環中打印出
int n;
while (cin >> n)
cout << n <<endl;
我的猜測是,它會是這樣的
import sys
while n = raw_input():
print n + "\n"
,但它不工作...請幫助我。謝謝。
我在想如何將以下C++代碼翻譯成Python代碼。從Python中讀取輸入並在while循環中打印出
int n;
while (cin >> n)
cout << n <<endl;
我的猜測是,它會是這樣的
import sys
while n = raw_input():
print n + "\n"
,但它不工作...請幫助我。謝謝。
或許是這樣的:
import sys # why?
n = "string"
while n:
n = raw_input()
print n + '\n'
然而
while n = raw_input(): # incorrect.
,因爲這將無法正常工作:
n
沒有定義==
,雖然不是在這種特殊情況下,因爲這將意味着基本,而n
等於empty string('')
例如:
>>> raw_input() == ''
True
這是因爲n = raw_input()
在Python不使用C而cin >> n
返回一個值++確實。 (這節省了程序員最常見的錯誤,即用=
代替==
)
您可以嘗試類似的方法。
n = raw_input("Enter Something: ")
while n:
print n
n = raw_input("Enter Something: ")
測試運行:
>>>
Enter Something: Monty
Monty
Enter Something: Python
Python
Enter Something: Empty Line Next
Empty Line Next
Enter Something:
P.S - 沒有必要在這種情況下,import sys
的(如果你不是在你的代碼中使用任何其他地方)。而且,print
語句會自動將光標移動到下一行,因此在這種情況下不需要添加\n
。
謝謝。我在這個網站http://www.compileonline.com/execute_python_online.php上測試了它,並且我得到了這個錯誤報告:輸入了一些東西:Traceback(最近調用了最後一個): 文件「main.py」,第5行,在 n = raw_input(「Enter Something:」) EOFError:讀取一行時的EOF – user3213711
這很可能與在線解釋器有關。爲什麼不使用Python包提供的IDLE?或者在shell中使用Python。 –
我明白了。什麼是shell中的Python?感謝您的幫助! – user3213711
你得到了什麼錯誤信息? – 2014-01-25 19:14:29