我想水平打印字符n
數字時代,迄今,我有這樣的代碼字符:打印使用水平在for循環
#print n times *
times=input("¿How many times will it print * ? ")
for i in range(times):
print"* \t"
但結果是這樣的:
¿打印多少次*? 5 *
*
*
*
*
如何讓我的星號打印水平?
EG:
所有的 * * * * * *
我想水平打印字符n
數字時代,迄今,我有這樣的代碼字符:打印使用水平在for循環
#print n times *
times=input("¿How many times will it print * ? ")
for i in range(times):
print"* \t"
但結果是這樣的:
¿打印多少次*? 5 *
*
*
*
*
如何讓我的星號打印水平?
EG:
所有的 * * * * * *
這是因爲默認情況下,python的print
功能後,它增加了一個新行,你需要使用sys.stdout.write函數(),你可以看到here
EG:
#print n times *
import sys
times=input("¿How many times will it print * ? ")
for i in range(times):
sys.stdout.write("* \t")
#Flush the output to ensure the output has all been written
sys.stdout.flush()
首先,你需要投你的輸入轉換成int。
其次,通過在打印語句的末尾添加逗號,它將打印水平。
此外,因爲你是使用python 2.x中,你應該使用raw_input
代替input
times = int(raw_input("How many times will it print * ? "))
for i in range(times):
print "* \t",
輸出:
* * * * *
你可以嘗試這種啓動。據我所知,print()在每次調用後都系統地插入一個\ n(換行符),所以解決方法是隻調用一次「print()」。
#print n times *
times=input("¿How many times will it print * ? ")
str = ""
for i in range(times):
str += "* \t"
print(str)