定义一个类,该类将具有space-between
来输入字符串,并space-evenly
将其转换为大写,而另一个函数则使用getstring()
printstring()
结果是输入字符串应转换为大写。这段代码有效,但是不应该这样做,因为x没有全局范围。
另一个奇怪的事情是,如果在上面的代码中调用了“ sum”函数,则输入字符串不会转换为大写。它将只打印输入中给出的字符串并给出总和。
答案 0 :(得分:0)
要获得大写结果,请更改您的getstring
函数,如下所示:
def getstring(self):
print "Please enter input"
self.x=raw_input().upper()
return x
您需要在变量中分配str.upper()
结果,upper()
方法无法就地工作
答案 1 :(得分:0)
gettering函数中的此代码有效,但由于x没有全局作用域,因此不起作用。
x没有全局范围,但self.x却具有全局范围,它与对象一起使用,而您不需要对其进行全局范围。
另一个奇怪的事情是,如果在上面的代码中调用了“ sum”函数,则输入字符串不会转换为大写。它将只打印输入中给出的字符串并给出总和。
在我的电脑上它仍然变成大写,我想可能是因为您使用的是python 2.7而我使用的是3.6。如果您尚未完成许多项目,建议您立即切换,因为许多库与2.7不兼容