当我在Python中运行此代码时,它表示在等号上发生了语法错误。
x = int(input('Enter a number greater than 0:'))
while x <= 0:
x = int(input('Enter a number greater than 0:'))
for i in range (x):
print ("x", end="")
答案 0 :(得分:2)
它有几个问题
<强> 1。使用Python 2中的print函数
你不能在Python 2中使用语法“print('something',end ='')”。Python 2中的print语句没有属性“end”。它应该是print(x)或print x。
<强> 2。试图在循环中打印变量x
我想在这里你想要打印这样的东西:
x = 3
for i in range(x):
print(i)
1 2 3
但你改为:
x = 3
for i in range(x):
print(x)
3 3 3
另外,你把它作为一个字符串而不是变量,所以你甚至不会得到它:
x = 3
for i in range(x):
print('x')
x x x
答案 1 :(得分:0)
正如其他人已经正确指出的那样,您使用的是python2
,因此打印仍然是statement
而不是method
,它的写法如下:
print "your text"
因此您无法访问end=
方法。
现在为他们做一些工作(python2
):
1。最简单的import
python3打印方法。
from __future__ import print_function
for i in xrange(x):
print(x, end="")
2。否则store
要在字符串中打印的值,然后最后打印它。
s=''
for i in xrange(x):
s+=str(i)
print(s)
3。使用list comprehension
和join
print ''.join(str(i) for i in xrange(x))
两者都是#driver values
:
In : x = 3
Out : 012
编辑:如果它与您所写的一样,并且您想要打印x
x
次,则更容易做到这一点:< / p>
print str(x) * x
Out : 333