[英]Why am I getting an error code when I run this code?
为什么我在运行此代码时会收到以下错误代码:
builtins.NameError:未定义名称“字符串”
def explore_string():
get_input()
explore_chars(string)
sum_digits(string)
def explore_chars(string):
print("Original: ",string)
print("Length: ",len(string),"chars")
print("2nd char: ",string[1])
print("2nd last: ",string[2])
print("Switched: ",string[-3:]+string[3:-3]+string[0:3])
def sum_digits(string):
dig_sum=0
l=['1','2','3','4','5','6','7','8','9']
for i in string:
if i in l:
dig_sum+=int(i)
print("Digit sum: ",dig_sum)
def get_input():
string=input("Enter 10 or more chars ending with a period: \n-> ")
while(len(string)<10 or string[len(string)-1]!='.'):
string=input("-> Error! Try again: ")
return string
explore_string()
您需要像这样更改您的explore_string
:
def explore_string():
string = get_input()
explore_chars(string)
sum_digits(string)
get_input()
的结果值应该存储在一个变量string
Imentu 的答案似乎是正确的解决方案。 但是,我想添加一些小技巧,可以帮助您自己解决此类问题。 因为你将来可能会遇到更多次(至少我遇到过)。
错误代码通常包含有关您所面临问题的大量信息。 在您的情况下, xxx is not defined
意味着您正在引用 Python 尚不知道的对象xxx
(未定义)。 每当您遇到这种情况时,您应该检查两件主要事情
strng = get_input()
)如果您将此与问题以“字符串”一词和错误给出的近似行号为中心的事实结合起来,那么您应该能够找到问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.