Mod remainment:如果num在10的倍数的2以内

2024-09-30 12:23:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须编写一个函数来确定给定的数字(num)是否在10的倍数的2以内。我用模数(%)来求余数,但它似乎工作得不太好。帮忙吗?在

def nearten(num):
    if num%10<=2:
        return True
    elif num%10>2:
        return False

Tags: 函数falsetruereturnifdef数字num
3条回答

您可以使用三元运算符并检查num是否在10的倍数的2以内:

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。在

那么,你的陈述是

^{pr2}$

那是多余的。程序中有一个True/False值——只需返回该值,而不是使用常量。在


修复。。。在

我把这个作为练习留给学生:“within”2意味着你必须检查两边,所以你必须选择一位数是8或9的情况。你能写出这样的表达式吗?在

相关问题 更多 >

    热门问题