題目
編寫一個函數來檢查兩個給定的字符是否大小寫相同。
- 如果任何字符不是字母,則返回-1
- 如果兩個字符大小寫相同,則返回1
- 如果兩個字符都是字母且大小寫不同,則返回0
例子
'a'并'g'返回1'A'并'C'返回1'b'并'G'返回0'B'并'g'返回0'0'并'?'返回-1
題解 1
此題主要考察基本判斷語句的使用。
def same_case(a, b): # your code hereif a.isalpha() and b.isalpha():if a.islower() and b.islower() or a.isupper() and b.isupper():return 1else:return 0return -1
附測試用例
class test(object):def assert_equals(a, b):if a == b:print(True)return Trueelse:print(False, a, b)return Falsetest.assert_equals(same_case('C', 'B'), 1)
test.assert_equals(same_case('b', 'a'), 1)
test.assert_equals(same_case('d', 'd'), 1)
test.assert_equals(same_case('A', 's'), 0)
test.assert_equals(same_case('c', 'B'), 0)
test.assert_equals(same_case('b', 'Z'), 0)
test.assert_equals(same_case('\t', 'Z'), -1)
test.assert_equals(same_case('H', ':'), -1)
題解2
簡潔優雅的題解
def same_case(a, b):return a.isupper() == b.isupper() if a.isalpha() and b.isalpha() else -1