编写一个Python程序,显示给定编号的消息如下:
如果是三的倍数,则显示“邮政编码” 如果是5的倍数,则显示“ Zap”。 如果它是三和五的倍数,则显示“缩放”。 如果不满足上述任何条件,则显示“无效”。
def display(num):
message="Zip, Zap, Zoom"
if(num%3==0):
print("Zip")
elif(num%5==0):
print("Zap")
elif((num%3==0) and (num%5==0)):
print("Zoom")
else:
print("Invalid Number")
return message
message=display(15)
print(message)
我希望输出15是Zoom,但实际输出是Zip。
答案 0 :(得分:2)
您需要重新排列if ... elif ... else语句
如果if的条件为False,它将检查下一个elif块的条件,依此类推,但是如果其中一个语句为true,则执行该语句并退出。
如果所有条件均为False,则执行else主体。
def display(num):
if((num%3==0) and (num%5==0)):
message = "Zoom"
elif(num%3==0):
message = "Zip"
elif(num%5==0):
message = "Zap"
else:
print("Invalid Number")
return message
message=display(3)
print(message)
答案 1 :(得分:1)
这是因为15是3的倍数并且满足第一个条件,所以输出为“ Zip”。您可以按照以下步骤简单地对其进行修复:
if(num%3==0 and num%5!=0):
print("Zip")
elif(num%5==0 and num%3!=0):
print("Zap")
elif((num%3==0) and (num%5==0)):
print("Zoom")
else:
print("Invalid Number")
return message
答案 2 :(得分:1)
替代方案:[从用户那里获取价值。希望有帮助!]
num=int(input("Enter the value : "))
if(num % 5 == 0):
if(num % 3 == 0):
print("Zoom")
else:
print("Zap")
elif(num % 3 == 0):
print("Zip")
else:
print("invalid")
答案 3 :(得分:0)
Java 中的解决方案
<块引用>实现一个程序,根据以下条件显示给定数字的消息。 如果数字是 3 的倍数,则显示“Zip”。 如果数字是 5 的倍数,则显示“Zap”。 如果数字是 3 和 5 的倍数,则显示“缩放”, 对于所有其他情况,显示“无效”。
class ZipZapZoom
{
public static void main(String[] args)
{
// Implement your code here
int num = 10;
if(num % 3==0 & num %5 == 0)
{
System.out.println("Zoom");
}
else if(num % 5 == 0)
{
System.out.println("Zap");
}
else if(num % 3==0)
{
System.out.println("Zip");
}
else
{
System.out.println("Invalid");
}
}
}