这是我的代码中的第一个函数:
def start():
decision = '0'
while decision != '9':
decision = input("To encode, press '1'; to decode, press '2'; and to exit, press '9'\n")
if decision == '1':
message = input("Input the message you want encoded.\n").lower()
Key(message, decision)
elif decision == '2':
message = input("Input the message you want decoded.\n").lower()
Key(message, decision)
elif decision == '9':
break
else:
print("Error!'"+decision+"' is an invalid input. Please make sure you type only numbers one, two and nine, NO letters!")
start()
start()
只是为了澄清,当我输入消息时,它意味着要进入另一个名为Key
的函数。无论如何,当我输入消息并按回车键时,它会出现:
str料对象的内置方法低于0x0150E0D0
但是,当我简单地删除Key(message, decision)
时,它可以工作
def start():
decision = '0'
while decision != '9':
decision = input("To encode, press '1'; to decode, press '2'; and to exit, press '9'\n")
if decision == '1':
message = input("Input the message you want encoded.\n").lower()
print(message)
elif decision == '2':
message = input("Input the message you want decoded.\n").lower()
print(message)
elif decision == '9':
break
else:
print("Error!'"+decision+"' is an invalid input. Please make sure you type only numbers one, two and nine, NO letters!")
start()
start()
或者即使我写这个:
a = input("Type in a message\n").lower()
print(a)
.lower
在调用函数时不起作用,还是我只是愚蠢而忘记括号或什么?
更新:这是关键功能:
def Key(message, decision):
key = input("Now, input the key which will be used to encode the message.\n".lower)
n = 0
for i in range(len(key)):
if 64 < ord(key[n]) < 91:
print(key[n], "is a capital letter!")
Key()
else:
n = n+1
Keycode(decision, message, key)
如果有必要,我可以输入整个代码
与您最初发布的代码不同,Key
包含这个有问题的行:
key = input("Now, input the key which will be used to encode the message.\n".lower)
它传递给input
作为字符串的lower
方法的输入,当你(大概)想要传递字符串然后将lower
应用于input
返回的时候。
在.upper或.lower之后,必须有一对封闭的括号。您可以在其中添加自定义参数,但如果您只想将输入大写,则将它们留空。
示例:user =(input(“输入字母:”))。upper()
这会将案例改为上层。希望能帮助到你!问题:[email protected]
尝试在工作空间中保存您的工作。如果您使用Python提示检查结果,请使用exit()
命令并再次打开Python提示。然后尝试按照之前的操作调用前面的函数。