2013-04-14 67 views
0

我問,因爲我試圖在我的朋友頻道中弄亂一個irc bot,並且無法讓我的生活得到它的工作,是否可以在同一行寫一個while循環及其所有內容?

基本上bot是phenny,它有一個python解釋器,我正在嘗試把它打印出字符串「Linux開放源代碼的Linux開放源代碼」 100次

x = 9000; while x >1: x = x - 1; print "linux" 

x=9000; while x>0: print 'linux'; x = x-1 . 

是什麼我迄今嘗試過了,我不知道我怎麼會得到這一切都在一條線上。

+1

您使用的是什麼Python版本? –

+0

我不得不猜測2.7因爲機器人本身是寫在5年前 –

+0

我明白downvote,我真的同意python強制縮進,因爲它使代碼更美觀,但我目前的要求是適合在一行上方便的東西因爲python代碼只在一行上進行評估。 –

回答

2

使用exec你可以做任何你在一行想,這是非常危險和極其哈克雖然(從來沒有做到這一點在真正的代碼!),但它實際上回答你的問題,這是「寫一個循環及其所有內容在一行?」

exec"x=10\nwhile x>0: print x; x-= 1" 
+1

這是一個非常有趣的解決方案,不知道exec。感謝你的幫助,其他答案很好,但這個答案擴展了我的知識 –

5
for i in range(0, 100): print "linux open source" 
+2

'0'是多餘的。 – Amber

+1

不是問題,但再次這個問題是不適合這個網站 – jamylak

4
for j in range(100): print 'linux'; 
1

如您所知,python是一種解釋器語言。代碼應該逐行寫入。 while循環在條件之後需要5個空格。也就是說,循環內的每條指令和代碼應該在它們的前面至少有5個空格。代碼應該逐行寫入。你的代碼不會工作,因爲你不符合規則。

相關問題