0

如何创建一个函数来测试变量是否满足给定的一组条件以继续,否则停止。如果变量满足第一组条件,则移动到下一组条件,否则停止。这一直持续到满足所有条件以返回最终答案。

> #the following are variables that can be changed if wanted
> lst = [5,4.3,8,2,9,3]
> len = 2
> interval = [-2.6,3.1]
> threshold = 1
> min = 1

第一组条件是:

  1. len必须是大于或等于 1 的正整数
  2. 对于interval,interval[0]必须严格小于interval[1]
  3. threshold必须是严格介于 0 和 1 之间的浮点数,即不包括 0 和 1
  4. min必须是大于或等于 1 的正整数

如果满足所有 4 个条件,则函数继续,否则返回字符串“无效”。

第二个条件: lst必须包含至少2个或更多元素

如果还满足第二个条件,则函数继续返回最终答案,否则返回字符串“数据不足”。

这是我到目前为止编写的函数,但显然是不正确的:

> def conditions(lst,len,interval,threshold,min):
    if len >= 1 and interval[0] < interval[1] and 0 < threshold < 1 and min >= 1:
        continue 
    else:
        return str('Invalid')
    
    if lst >= 2
        continue 
    else:
        return str('Not enough data')
    
    return answer
4

1 回答 1

0

这不是continue目的。只需设计您的if-else块,使程序将根据条件是否满足而遵循不同的路径。

还要尝试使用不影响内置变量的变量名,以避免代码中出现不良行为:

def conditions(lst, length ,interval, threshold, minimum):
    if length >= 1 and interval[0] < interval[1] and threshold in range(0, 1) and minimum >= 1:
        if len(lst) < 2:
            answer = 'Not enough data'
        answer = "ok"
    else:
        answer = 'Invalid'
    return answer
于 2021-07-12T20:55:18.950 回答