2024-09-30 12:23:47 发布
网友
我必须编写一个函数来确定给定的数字(num)是否在10的倍数的2以内。我用模数(%)来求余数,但它似乎工作得不太好。帮忙吗?在
def nearten(num): if num%10<=2: return True elif num%10>2: return False
您可以使用三元运算符并检查num是否在10的倍数的2以内:
num
def near_ten(num): return True if num%10<3 or num%10>7 else False
您可以将此代码编写为:
def near_ten(num): a = num % 10 return 2 >= a or 8 <= a
最重要的是,您只检查“个”位数是0、1还是2——您漏掉了8和9。在
作为样式说明,不要检查布尔表达式,然后硬编码刚刚找到的结果。您的函数,如目前所写,可简化为:
def nearten(num): return num%10 <= 2
你看到了吗?首先,elif检查不会给您提供任何新信息:您已经知道,当您通过if条件时,结果必须是2。在
那么,你的陈述是
那是多余的。程序中有一个True/False值——只需返回该值,而不是使用常量。在
修复。。。在
我把这个作为练习留给学生:“within”2意味着你必须检查两边,所以你必须选择一位数是8或9的情况。你能写出这样的表达式吗?在
您可以使用三元运算符并检查
num
是否在10的倍数的2以内:您可以将此代码编写为:
最重要的是,您只检查“个”位数是0、1还是2——您漏掉了8和9。在
作为样式说明,不要检查布尔表达式,然后硬编码刚刚找到的结果。您的函数,如目前所写,可简化为:
你看到了吗?首先,elif检查不会给您提供任何新信息:您已经知道,当您通过if条件时,结果必须是2。在
那么,你的陈述是
^{pr2}$那是多余的。程序中有一个True/False值——只需返回该值,而不是使用常量。在
修复。。。在
我把这个作为练习留给学生:“within”2意味着你必须检查两边,所以你必须选择一位数是8或9的情况。你能写出这样的表达式吗?在
相关问题 更多 >
编程相关推荐