Python 3.x 无法理解为什么函数中的基本循环获取字符串并打印字母,直到字符串中的第一个数字为';行不通
编码新手。 我无法理解这个字符串是如何工作的,为什么它只打印最后一个字符串字母,而不是全部 目标是打印所有字母,直到字符串中的第一个数字。 如果字符串isdigit()==true,则返回print(“”) 例如,如果我这样输入:func(“abc”) 我不明白为什么它只打印“c”而不打印“abc” 谢谢 def func(s):Python 3.x 无法理解为什么函数中的基本循环获取字符串并打印字母,直到字符串中的第一个数字为';行不通,python-3.x,Python 3.x,编码新手。 我无法理解这个字符串是如何工作的,为什么它只打印最后一个字符串字母,而不是全部 目标是打印所有字母,直到字符串中的第一个数字。 如果字符串isdigit()==true,则返回print(“”) 例如,如果我这样输入:func(“abc”) 我不明白为什么它只打印“c”而不打印“abc” 谢谢 def func(s): Python与大多数编程语言的不同之处在于它是。每行开头的缩进实际上对脚本的解释和执行有很大影响 由于您的if和else语句存在于不同的缩进处,因此作用域不同,因此它
Python与大多数编程语言的不同之处在于它是。每行开头的缩进实际上对脚本的解释和执行有很大影响 由于您的
if
和else
语句存在于不同的缩进处,因此作用域不同,因此它们不会在相同的上下文中进行计算。修正缩进,将else
正确地包括在与相同的范围内,如果:
def func(s):
for i in s:
if i.isdigit():
print("")
break
else:
print(i)
func('abc1d')
返回:
a
b
c
缩进级别不匹配。你的“else”语句应该在“if”语句的正下方
for i in s:
if i.isdigit():
print("")
break
else:
print(i)
Python是一种对空格敏感的语言。修正缩进,将else
正确地包含在与if
相同的级别。谢谢你,它成功了。你能不能用一个例子详细说明一下你所说的,python是一种对空格敏感的语言。当我编写下一个代码时,我应该知道什么?谢谢,我在下面的回答中提供了一个堆栈溢出链接,其中包含更多信息,供您参考。
for i in s:
if i.isdigit():
print("")
break
else:
print(i)