我在书中看到过这段代码。根据本书的说法,当我们运行代码并输入'classMaker()'时会看到:
classMaker()
制作课程
然后我们回答:是的,
classMaker()
制作课程
你想制作一个类的对象吗?
是
对象
我不明白如何输入“是”。我该怎么办?在“......班级”之后我写“是”吗? 我做到了但是它失败了
def classMaker(flag=True):
if flag:
print('making the class')
class MyName:
name='Raman'
print('do you want to make an object of the class?')
answer=input()
if answer=='yes':
my_object=MyName()
print('object made')
print('your name is',my_object.name
答案 0 :(得分:0)
只需使用:raw_input()
代替input()
:
answer = raw_input('Do you want to make an object of the class?')
为什么?
raw_input()向用户询问一串数据(以换行符结束), 并简单地返回字符串。它也可以采取论证 在用户输入数据之前显示为提示。
虽然:
input()使用raw_input读取数据字符串,然后尝试 将其评估为Python程序,然后返回值 结果。
现在,您可以解析答案以确定其是否包含“是”'。
参考:http://en.wikibooks.org/wiki/Python_Programming/Input_and_Output#Examples
答案 1 :(得分:0)
如果您使用Python 2.x版本之一,我会假设您在执行此操作时出现错误。在Python 2.x中,input()
需要Python表达式,而不仅仅是任何字符串。因此,在您的情况下,您的名称可能被Python解释为变量并返回NameError
错误。如果是这种情况,只需将您的输入作为字符串提供。这意味着使用""
。