我正在编写这段代码,但我似乎无法让它正常工作。没有语法错误,所以我很清楚。它只是没有给我想要的正确输出。
这是代码:
这是当 x = 5 时我得到的输出:大!完毕!
这是我在 x = 1 Small 时得到的输出!完毕!
这就是当 x = 1 或 5 以外的任何值完成时我得到的结果!
我想要它做的是当 x = 1-5 之间的任何东西输出小!然后完成!或者如果它在 5-infinity 之间输出 Big! 然后完成!但如果数字不是 1 或 5,它只会输出 Done!我应该对我的代码进行哪些更改?
我正在编写这段代码,但我似乎无法让它正常工作。没有语法错误,所以我很清楚。它只是没有给我想要的正确输出。
这是代码:
这是当 x = 5 时我得到的输出:大!完毕!
这是我在 x = 1 Small 时得到的输出!完毕!
这就是当 x = 1 或 5 以外的任何值完成时我得到的结果!
我想要它做的是当 x = 1-5 之间的任何东西输出小!然后完成!或者如果它在 5-infinity 之间输出 Big! 然后完成!但如果数字不是 1 或 5,它只会输出 Done!我应该对我的代码进行哪些更改?
x = 5
if x in range(6):
print('Small')
elif x >=6 :
print('Big')
print('Done')
尝试这个。range 函数检查数字是否在 0 到 6 之间,即 0 到 5。任何小于 0 的都将被忽略
您的代码的问题是您只检查两个条件if x== 5和if x == 1. 仅当满足此条件时才会执行打印语句。
干杯
正如用户在上一个答案中指出的那样,您需要实现的是 if-else 梯形图,并在输出具体为 1 或 5 的情况下使用逻辑运算符
x=6 # You can replace this by a user defined input using input()
if x==5 or x==1:
print("Done!")
elif x<5:
print("Small!")
print("Done!")
elif x>5:
print("Big!")
print("Done!")
else:
print("Enter a valid number!")
我检查了各种测试用例,例如 1、5 、1 到 5 之间的数字以及大于 5 的数字,它们似乎都运行良好。
您可以创建一个if-else梯子来实现这一点
def determine_size(inp):
if inp == 1 or inp == 5:
print("Done")
elif 0 <= inp < 5:
print("Small")
print("Done")
elif inp > 6:
print("Big")
print("Done")
else:
print("Negative Input")
>>> determine_size(0)
Small
Done
>>> determine_size(100)
Big
Done
>>> determine_size(60)
Big
Done
>>>
>>> determine_size(3)
Small
Done
>>> determine_size(4)
Small
Done
您还可以if-else根据您的目标玩弄这些陈述
x = 40
# at first check if x is greater than 1 and less than 5.
# Only then it is between 1 and 5.
if x >=1 and x<=5:
print('Small!')
# Now chek if x is greater than 5
elif x>5:
print('Big!')
print('Done!')
如果您的意思是评论中提到的上述情况
try:
x=int(input("enter a number: "))
if x >=0 or x<=5:
print("Small")
print("Done")
elif x>=6:
print("big")
print("Done")
except ValueError:
print("Done")
这里的代码块写在 try 块中,为什么我写在 try 块中,如果有人输入不是数字的东西,那么程序就不会崩溃raise a exception。
如果您不熟悉 elif 语法,我们可以像这样进行简单的构造:-
try:
x=int(input("enter a number: "))
if x >=0 and x<=5:
print("Small")
print("Done")
else:
print("big")
print("Done")
except ValueError:
print("Done")
在这里,我所做的就是将逻辑运算符从 更改or为and。