簡體   English   中英

從Python讀取輸入並在while循環中打印出來

[英]Reading input from Python and print out in while loop

我想知道如何將以下C ++代碼翻譯成Python代碼。

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.

這不起作用,因為:

  1. n未定義
  2. 在任何情況下,為了測試相等性,你通常應該使用== ,盡管不是在這種特殊情況下,因為它基本上意味着,而n等於empty string( '' )

例:

>>> raw_input() == ''
True

那是因為Python中的n = raw_input()不會返回值,而C ++中的cin >> n返回值。 (這節省了程序員最常見的替換== with =錯誤)

你可以嘗試類似的東西。

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: 

PS - 在這種情況下不需要import sys (如果你沒有在你的代碼中的任何其他地方使用它)。 此外, print語句會自動將光標移動到下一行,因此在這種情況下無需添加\\n

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM