from os import system
def a(len1,hgt=len1,til,col=0):
system('mode con cols='+len1,'lines='+hgt)
system('title',til)
system('color',col)
a(64,25,"hi","0b")
input()
当我运行它时,它拒绝“def a(...”并突出显示“(”红色。我不知道为什么。
答案 0 :(得分:24)
我在此澄清两点:
def example(a, b, c=None, r="w" , d=[], *ae, **ab):
(a,b)是位置参数
(c = none)是可选参数
(r =" w")是关键字参数
(d = [])是列表参数
(* e)仅限关键字
(* opts)是var-keyword参数
所以先重新安排你的参数
所以第二次删除这个" len1 = hgt"它不允许在python中使用。
请记住参数和参数之间的区别,您可以在这里阅读更多信息:Arguments and parameters in python
答案 1 :(得分:9)
如错误消息所示,非默认参数til
不应遵循默认参数hgt
。
更改参数顺序(相应调整函数调用)或使hgt
非默认参数可以解决您的问题。
def a(len1, hgt=len1, til, col=0):
- >
def a(len1, hgt, til, col=0):
<强>更新强>
SyntaxError隐藏的另一个问题。
os.system
只接受一个字符串参数。
def a(len1, hgt, til, col=0):
system('mode con cols=%s lines=%s' % (len1, hgt))
system('title %s' % til)
system('color %s' % col)
答案 2 :(得分:5)
关键字参数后,您不能拥有非关键字参数。
确保重新安排你的函数参数:
def a(len1,til,hgt=len1,col=0):
system('mode con cols='+len1,'lines='+hgt)
system('title',til)
system('color',col)
a(64,"hi",25,"0b")