代码:
quota = 22
a = int(input("Enter a number: "))
b = int(input("Enter a number: "))
c = int(input("Enter a number: "))
d = int(input("Enter a number: "))
e = int(input("Enter a number: "))
如果a-f中的至少两个变量等于或高于变量配额而不是print"我满意的话,那就是#Quot met"
最好是我希望以最有效和最容易理解的方式。
答案 0 :(得分:6)
最简单的方法,恕我直言,只有count
出现quota
的次数:
if (a, b, c, d, e).count(quota) >= 2:
print "quota met"
答案 1 :(得分:2)
您可以使用while循环执行cicle 6次(并且不需要变量)
quota = 22
n = 6
res = 0
while n != 0:
if(int(input("Enter a number: ")) >= quota):
res += 1
n -= 1
if(res >= 2):
print("Quota met")
else:
print("not met2")
或使用您的方法和变量:
quota = 22
a = int(input("Enter a number: "))
b = int(input("Enter a number: "))
c = int(input("Enter a number: "))
d = int(input("Enter a number: "))
e = int(input("Enter a number: "))
f = int(input("Enter a number: "))
if (len([x for x in [a,b,c,d,e,f] if x>=quota]) >= 2): print("quota met!")
答案 2 :(得分:2)
您可以创建一个可迭代的条目,并总结测试等于或高于配额值的所有项目的bool值:
if sum(x >= quota for x in (a, b, c, d, e, f)) >= 2:
print('quota met')
答案 3 :(得分:1)
type=input("enter the type of animal(cheetah:c,lion:l,deer:d):")
speed=float(input("average speed for a hour(km):")
while answer=="Y" or answer=="y":
while type=="c" or type=="d" or type=="l":
if type=="c":
ceetah_count+=1
total_c_speed+=speed
elif type=="d":
deer_count+=1
total_d_speed+=speed
else:
lion_count+=1
total_l_speed+=speed
animal_count+=1
total_speed+=speed
type=input("enter the type of animal(cheetah:c,lion:l,deer:d):")
speed=float(input("average speed for a hour(km):)
answer=input("are there any animals?(yes:y/no:n):)`
或
if (sum([x >=quota for x in [a,b,c,d,e]])) >= 2: print("Quota met")
答案 4 :(得分:1)
使用reduce:
Reduce是一个非常有用的函数,用于在列表上执行某些计算并返回结果。它将滚动计算应用于列表中的连续值对。
In [1]: a,b,c,d,e = 5,6,7,8,9
In [2]: quota=7
In [3]: f=lambda x, y: x + 1 if y >= quota else x
In [4]: reduce ( f, [a,b,c,d,e], 0 )
Out[4]: 3
不是真的可读,但每个人都喜欢减少。
编辑过期@ StefanPochmann的评论 - 函数f
已修复
答案 5 :(得分:0)
quota = 22
cc=0
a = int(input("Enter a number: "))
b = int(input("Enter a number: "))
c = int(input("Enter a number: "))
d = int(input("Enter a number: "))
e = int(input("Enter a number: "))
if (a==quota):
cc=cc+1
if (b==quota):
cc=cc+1
if (c==quota):
cc=cc+1
if (d==quota):
cc=cc+1
if (e==quota):
cc=cc+1
if(cc>=2):
print('Quota met')
else
print('Quota not met')
第1步:获取输入
第2步:将每个输入与配额
进行比较步骤3:如果输入与配额匹配,则将计数器(cc)增加一个
步骤4:对其他输入重复步骤3
步骤5:检查计数器是否大于或等于2打印"配额符合"
答案 6 :(得分:0)
使输入调用迭代并测试它们是否大于22.如果它们是创建一个布尔列表,则计算有多少值等于或大于配额。
quota = 22
#create empty list
b_ls = []
# iterate input and check if it's larger than quote
for i in range(5):
b_ls .append(int(input('Enter a number: ')) >= quota)
# print if quota is meta
if b_ls .count(True) >= 2: print('Quota met')
答案 7 :(得分:0)
我宁愿早点将输入收集到列表中:
numbers = [int(input("Enter a number: ")) for i in range(5)]
可读性可以更简化,重复(a,b,c,d,e)
意味着任何未来的代码更新都意味着需要在多个地方进行更改。
if numbers.count(quota) >= 2: print("Quota met")