python - 在一个范围内调用一次函数
问题描述
我有一个任务,无法找出真正的解决方案。
def triple(n): #multiplies number with 3
return (n*3)
def square(n):
return (n**2) #takes second power of number
for i in range(1,11):
if triple(i) > square(i):
print((f"triple({i})=={triple(i)} square({i})=={square(i)}"))
triple(1)==3 square(1)==1
triple(2)==6 square(2)==4
当一个值的平方大于该值的三倍时,我应该停止迭代,而不在最后一次迭代中打印任何内容。
而且函数triple 和square 每次迭代都必须调用一次。
我尝试过的其他事情
ls =[f"triple({i})=={triple(i)} square({i})=={square(i)}" for i in range(1,11) if triple(i) > square(i)]
for i in ls:
print(i)
for i in range(1, 11):
x = triple(i)
y = square(i)
if x > y: #when i put x>=y its acceps the numberof calling squares but not triple
print(f"triple({i})=={x} square({i})=={y}")
有一个测试可以检查我的答案,它说“打印的行数错误”,我问了一些人,他们只是告诉我应该将从每个函数获取的值存储到一个变量中。这些就是我试图做的他们所说的
解决方案
您需要为 square>triple 设置另一个条件,当它匹配时,您可以通过break退出循环
def triple(n): #multiplies number with 3
return (n*3)
def square(n):
return (n**2) #takes second power of number
for i in range(1,11):
if triple(i) > square(i):
print((f"triple({i})=={triple(i)} square({i})=={square(i)}"))
elif triple(i) < square(i):
break
推荐阅读
- ruby-on-rails - 将音频播放器添加到活动管理面板
- php - 如何在数组的超链接中包含文件名?
- reactjs - 如何使具有多个对象的对象成为状态数组?
- c# - The given key was not present in the dictionary exception
- java - Bottomnavigationbar 无法将可检查设置为 false,但 true 可以正常工作
- r - 在R中解码西里尔字符串
- c++ - Issues with C++ bitfields
- regex - regex string which will capture a namespace and replace as required
- php - 我希望模式以正确的ID打开,即在foreach中
- r - 在克里金法(R)中使用 grid.expand 函数时,在“by”参数中出现错误符号