我想水平打印字符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)