好的,我是Python的菜鸟,清除空气。我15岁刚开始学习Python,认为这是最好的编程语言。这可能看起来很愚蠢,但在这里,谁可以调试这个或自动更正呢? :P
def firstlogin(x,y):
x=raw_input('Enter name: ')
if x == 'Bob':
return 'Hello there,press enter to go to the next test.'
y=raw_input('Enter pass: ')
if y == 'password':
return ('You are now free to *** this account up')
因为def是一个函数,你可以在其中创建自己的函数,防止一遍又一遍地编写相同的函数,或者基本上只是自己创建函数。但是当我将其保存为.py
时,我无法打开它。我想当我想将它用于另一个项目时,我必须将它输入/导入到python中,或者是否有另一种方式。
PS :自学,我生活在一个我无法获得编程语言书籍的国家:( ..所以我在网上冲浪..使用一点点Bucky的视频和等
答案 0 :(得分:3)
您可以将其保存为您想要的任何名称,例如“foo.py”。
然后在你的另一个python文件中,你可以通过导入它来使用这个功能:
import foo
...
foo.firstlogin(bar,baz) # how to call the function.
答案 1 :(得分:2)
此功能不会按照您的想法执行,因为您在第一次检查后返回,因此只会继续询问名称,当用户输入Bob
时,不会发生任何事情,因为您不是对结果做任何事情。
由于您要覆盖要传递给该函数的任何用户名和密码,因此它将始终检查Bob
而不是您要求它检查的内容。
请尝试使用此版本:
def firstlogin(user, passwd):
''' A function to check the username
and password for a user '''
x = raw_input('Enter Name: ')
if x == user:
y = raw_input('Great! Now try guessing the password: ')
if y == passwd:
print 'Correct!'
else:
print 'Sorry, password was wrong'
else:
print 'Sorry, username was wrong'
将其保存到文件中,让我们说my_func.py
,然后将其保存在同一目录中的另一个文件中,输入:
from my_func import firstlogin
firstlogin('user','sekret')
或者您可以键入python
以再次从保存my_func.py
的同一目录进入交互式提示:
>>> from my_func import firstlogin
>>> firstlogin('user','sekret')
答案 2 :(得分:1)
检查功能的一种方法如下所示:
def firstlogin(x,y):
x=raw_input('Enter name: ')
if x == 'Bob':
return 'Hello there,press enter to go to the next test.'
y=raw_input('Enter pass: ')
if y == 'password':
return ('You are now free to *** this account up')
if __name__ == '__main__':
firstlogin(bar, baz)
然后使用此命令:python foo.py
这里发生的是魔术变量__name__
由Python设置为值__main__
,告诉您模块已直接从命令行加载。
当您从另一个Python模块调用模块时,如下所示:
import foo
firstlogin(bar, baz)
魔术变量__name__
将设置为foo
,包含您的函数的模块的名称,因此您的引导代码将不会被执行。这是Python中使用的标准习惯用法,允许您检查代码,即使您通常打算从其他模块调用它。正如您所看到的那样__name__
通常是模块的名称,但是当您直接从命令行调用模块时,它会设置为__main__
。