python-3.x - 我无法弄清楚为什么它在代码行之后不打印( if 6 <= n <= 20 )
问题描述
我正在运行这段代码。当我将输入设置为 6 或更大时,它会打印任何内容并且也不会显示任何错误。如果 6 <= n <= 20 之后它不会打印任何东西
我尝试重写代码或错误,并多次检查它。
#!/bin/python3
import math
import os
import random
import re
import sys
if __name__ == '__main__':
n = int(input().strip())
if n%2 == 0 :
if 2 <= n <= 5:
print("Not Weird")
elif n%2 == 0:
if 6 <= n <= 20 :
print("Weird")
elif n%2 == 0:
if n > 20:
print("Not Weird")
else:
print("Weird")
它没有显示任何错误
解决方案
您没有if
正确使用。检查这个,
if __name__ == '__main__':
n = int(input().strip())
if n%2 == 0 :
if 2 <= n and n <= 5:
print("Not Weird")
elif 6 <= n and n <= 20 :
print("Weird")
elif n > 20:
print("Not Weird")
else:
print("Weird")
你的代码有什么错误?
回答:
if n%2 == 0:
some condition
elif n%2 ==0:
some condition
你的两者if
和elif
条件都是一样的。所以,它永远不会执行elif
条件。
所以,在你的情况下n=6
,它进入第一个if
条件。因为您的第一个 if 条件中没有任何 else 语句。它不会print
像预期的那样。
推荐阅读
- powershell - 嵌套循环不按预期的PowerShell工作
- java - 如何从所有 TextViews RecyclerView 中获取文本
- css - 使用 var 设置 SVG 渐变中的偏移位置
- angular - 声纳覆盖率:lcov 覆盖率报告中的文件路径不正确
- javascript - 为什么这个脚本不起作用?实时预览中未显示任何内容
- google-admin-sdk - 如何在没有oauth2的g套件中创建新用户
- r - ggsave 和 gganimate 的“动画”中符号的大小一致
- javascript - Symfony 4 - 使用带有 webpack encore 的 Algolia 地方
- nuget - Artifactory 中的 Nuget 异常
- python - 如何检查字符串列表中的字符串是否在熊猫数据框列中