Python: 检查一个字符的大小写
Python: check capitalisation of a character
我是一个非常新手的程序员,在Python中更是新手。我正在尝试检测传递给函数的字符是小写还是大写。
def encode(char, key, position, skipped):
if char.islower() == True:
ascii_offset = 97
if char.isupper() == True:
ascii_offset = 65
else:
print("You dun goofed laddie")
exit(2)
...
return char
函数在'else'语句中退出。但是,我有点自信,事实上字符确实传递给了函数...
你的问题是你有两个 if 语句,第二个有一个 else。你想要这样的东西:
def encode(char, key, position, skipped):
if char.islower():
offset = 97
elif char.isupper():
offset = 65
else:
print("Somethings wrong")
exit(2)
return char
这两个 if 语句导致它失败,因为如果您发送小写字母,它总是会导致 else
语句变为 运行。第二个 if
语句是说 if this is not an upper case letter, exit(2)
。所以任何小写字母都会导致退出。还要注意你的缩进。这就是 python 分隔代码块的方式。
@Tikhon 写道:"Thank you very much, that worked! I'm not too sure why... but I'm very grateful"
解释:如果字符是小写,则执行第一个if块。
然而,代码的执行将迭代地进行到下一个 if 块,并且因为它是 False(假设第一个是 True)你执行 else 的情况。
因此使用 elif 将实现所需的行为:
if condition A:
do something
elif condition B:
do something else
else:
do some default case
我是一个非常新手的程序员,在Python中更是新手。我正在尝试检测传递给函数的字符是小写还是大写。
def encode(char, key, position, skipped):
if char.islower() == True:
ascii_offset = 97
if char.isupper() == True:
ascii_offset = 65
else:
print("You dun goofed laddie")
exit(2)
...
return char
函数在'else'语句中退出。但是,我有点自信,事实上字符确实传递给了函数...
你的问题是你有两个 if 语句,第二个有一个 else。你想要这样的东西:
def encode(char, key, position, skipped):
if char.islower():
offset = 97
elif char.isupper():
offset = 65
else:
print("Somethings wrong")
exit(2)
return char
这两个 if 语句导致它失败,因为如果您发送小写字母,它总是会导致 else
语句变为 运行。第二个 if
语句是说 if this is not an upper case letter, exit(2)
。所以任何小写字母都会导致退出。还要注意你的缩进。这就是 python 分隔代码块的方式。
@Tikhon 写道:"Thank you very much, that worked! I'm not too sure why... but I'm very grateful"
解释:如果字符是小写,则执行第一个if块。 然而,代码的执行将迭代地进行到下一个 if 块,并且因为它是 False(假设第一个是 True)你执行 else 的情况。
因此使用 elif 将实现所需的行为:
if condition A:
do something
elif condition B:
do something else
else:
do some default case