def sleep_in(weekday, vacation):
if weekday is not True or vacation is True:
return True
else:
return False
def monkey_trouble(a_smile, b_smile):
if a_smile is True and b_smile is True or a_smile is False and b_smile is False:
return True
else:
return False
#理解布尔值是一个值
def monkey_trouble(a_smile, b_smile):
if a_smile and b_smile:
return True
if not a_smile and not b_smile:
return True
return False
def sum_double(a, b):
if a == b:
return (a + b) * 2
else:
return a + b
def diff21(n):
if n >= 21:
return (n - 21) * 2
else:
return 21 - n
#注意题目的条件
def parrot_trouble(talking, hour):
if talking is True and hour < 7 or talking is True and hour > 20:
return True
else:
return False
#and 和 or 的运算是and优先,and 和 or 的返回值是, 1 or 5 and 4: 先算5 and 4, 5为真,
#值为4. 再算1 or 4, 1 为真,值为1,对于, (1 or 5) and 4: 先算1 or 5, 1为真, 值为1.
#再算1 and 4, 1为真,值为4
def makes10(a, b):
return a == 10 or b == 10 or a + b == 10
#Given an int n, return True if it is within 10 of 100
#or 200. Note: abs(num) computes the absolute value of a number.
def near_hundred(n):
if abs(100 - n) <= 10 or abs(200 - n) <= 10:
return True
else:
return False
def near_hundred(n):
return ((abs(100 - n) <= 10) or (abs(200 - n) <= 10))
#理解and和or返回的就是一个布尔值
def pos_neg(a, b, negative):
if negative:
if a < 0 and b < 0:
return True
return False
else:
return a < 0 and b > 0 or a > 0 and b < 0
#上面这样的样子可以合成下面的样子,实际上还是要多多使用并熟悉and和or返回的其实就是一个布尔值
def pos_neg(a, b, negative):
if negative:
return (a < 0 and b < 0)
else:
return ((a < 0 and b > 0) or (a > 0 and b < 0))
def not_string(str):
if str[:3] == “not”:
return str
else:
return "not " + str
#is和==用法不同,具体参考https://www.cnblogs.com/wangkun122/p/9082088.html
def missing_char(str, n):
return str[0:n] + str[n+1:]
#算头不算尾str[:x]x是几输出的就是从第一个到第几个数
#[x+1:]x是几输出的就是从第x+1个数到结尾
def front_back(str):
n = len(str)
if n < 2:
return str
else:
return str[n-1] + str[1:n-1] + str[0]
def front3(str):
if len(str) <= 3:
return str * 3
else:
return str[:3] * 3