我在print命令中不断得到语法错误(这就是为什么括号在底部),如果我试图运行代码,我也会得到一个文件结束错误(解析时意外的文件结束)。
我将print语句放在方括号中,并尝试重新键入代码,但没有成功。
print ("input a number")
a = (str(input(''))
if 9 in (a)
(b = a.count('9')
if 8 in (a)
(c = a.count('8')
if 7 in (a)
(d = a.count('7')
if 6 in (a)
(e = a.count('6')
if 5 in (a)
(f = a.count('5')
if 4 in (a)
(g = a.count('4')
if 3 in (a)
(h = a.count('3')
if 2 in (a)
(i = a.count('2')
if 1 in (a)
(j = a.count('1')
if 0 in (a)
(k = a.count('0')
(print("the highest number you can make is", 9*b, 8*c, 7*d, 6*e, 5*f, 4*g, 3*h, 2*i, 1*j, 0*k)
File "/home/ubuntu/workspace/SuPeRsIzE.py", line 26
^
SyntaxError: unexpected EOF while parsing
注意,代码只有25行-我甚至还没有打开到26行
---------------------------------------------------------------------------
File "/home/ubuntu/workspace/SuPeRsIzE.py", line 25
print("the highest number you can make is", 9*b, 8*c, 7*d, 6*e, 5*f, 4*g, 3*h, 2*i, 1*j, 0*k)
^
SyntaxError: invalid syntax
这是我从print语句中去掉括号后得到的结果。
发布于 2019-06-12 00:33:21
因此,语法错误实际上是因为您没有以:
结束if
语句,而且在if
块的每一行上都有一堆左括号。
如果我们去掉换行符:
if 9 in (a)(b = a.count('9') if 8 in (a)(c = a.count('8') ...
它所做的是尝试测试9
是否在正确的表达式中,这是一个函数调用。它尝试以关键字参数b
等于a.count('9') if <expr> else <expr>
的关键字参数a.count('9') if <expr> else <expr>
作为函数调用Python三元表达式语法。如果您将它们都放入其中,它会显示“无效语法”,因为它希望else
语句完成三元表达式。
发布于 2019-06-13 04:00:45
b = a.count('9')
c = a.count('8')
d = a.count('7')
e = a.count('6')
f = a.count('5')
g = a.count('4')
h = a.count('3')
i = a.count('2')
j = a.count('1')
k = a.count('0')
´
print("the highest number you can make is", ´9´*b, ´8´*c, ´7´*d, ´6´*e, ´5´*f, ´4´*g, ´3´*h, ´2´*i, ´1´*j, ´0´*k)
这似乎工作得很好-谢谢大家的帮助,但这对我的目的很有效。
https://stackoverflow.com/questions/56547868
复制相似问题