Python变量理解

Python变量理解,python,if-statement,Python,If Statement,我在写这段代码,但我似乎无法让它正常工作。 没有语法错误,所以我很清楚。 它只是没有给我想要的正确输出 代码如下: 这是当x=5时我得到的输出: 大的 完成了 这是当x=1时得到的输出 小的 完成了 这是当x=除1或5以外的任何值时得到的结果 完成了 我想要它做的是当x=1-5之间的任何值时,输出小!好了! 或者如果它在5-无穷大之间输出大!好了!但如果数字不是1或5,它只是输出完成! 我应该对我的代码做哪些更改?您可以创建一个如果需要,则可以创建一个梯形图来实现这一点 def determi

我在写这段代码,但我似乎无法让它正常工作。 没有语法错误,所以我很清楚。 它只是没有给我想要的正确输出

代码如下:

这是当x=5时我得到的输出: 大的 完成了

这是当x=1时得到的输出 小的 完成了

这是当x=除1或5以外的任何值时得到的结果 完成了

我想要它做的是当x=1-5之间的任何值时,输出小!好了! 或者如果它在5-无穷大之间输出大!好了!但如果数字不是1或5,它只是输出完成!
我应该对我的代码做哪些更改?

您可以创建一个
如果需要,则可以创建一个
梯形图来实现这一点

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

def define_size(inp):
如果inp==1或inp==5:
打印(“完成”)
elif 0 6:
打印(“大”)
打印(“完成”)
其他:
打印(“负输入”)
>>>确定_大小(0)
小的
多恩
>>>确定尺寸(100)
大的
多恩
>>>确定尺寸(60)
大的
多恩
>>> 
>>>确定_大小(3)
小的
多恩
>>>确定_大小(4)
小的
多恩
您还可以根据您的目标使用
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!')
#首先检查x是否大于1且小于5。 #只有这样,它才介于1和5之间。 如果x>=1和x5: 打印('Big!') 打印('Done!')
试试这个。范围功能检查数字是否在0到6之间,即0到5之间。小于0的任何内容都将被忽略

代码的问题在于,如果x==5,您只需检查两个条件
if x==5
if x==1
。仅当满足此条件时,才会执行打印语句


Cheers

正如用户在前面的回答中指出的,您需要实现一个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!")
x=6#您可以使用input()将其替换为用户定义的输入
如果x==5或x==1:
打印(“完成!”)
elif x5:
打印(“大!”)
打印(“完成!”)
其他:
打印(“输入有效数字!”)
我检查了各种测试用例,如1、5、1到5之间的数字以及大于5的数字,所有这些都似乎工作正常

这是一个示例输出
如果您指的是评论中提到的上述场景

    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")

这里我所做的就是将逻辑运算符从
更改为

如何为代码创建这些框?这就是为什么我把我的图片放进去以便更容易阅读的原因。我怎样做一个用户定义的输入?如果你再看我的帖子,我说我是一个很早的初学者。更清楚地解释。谢谢你的帮助。还有一个提示:如果您正在编写代码,请在确定的内容之间放置空格。比如,如果你写的有一个确定变量是真的,打印一些东西。比如:如果x==5打印('large')。这将把用户键入的数字存储在变量
x
中。我在您的代码中发现了一个错误。第5行中的语法错误为:<对于'str'和'int'实例不受支持。或者这里有一个完整的错误:Traceback(最近一次调用last):File“”,第5行,在TypeError中:“忘记我说的话。”。我在IDE中使用PyScripter。我在python安装附带的python IDE中测试了它,没有得到任何回溯。您是否了解PyScripter以了解问题所在?它使用Python3.7.9编写imperter。我还没有真正了解def变量。就像我说的,我是一个很早的初学者。但是谢谢你的帮助!当你说在1-5之间时,你想包括5,对吗?当你说5-无穷大时,你实际上指的是6到无穷大,对吗?如果你指的是上述场景
try:x=int(输入(“输入一个数字”))如果x>=0或x=6:print(“大”)print(“完成”),除了ValueError:print(“完成”)
这里代码块写在try块中,为什么我要在try block中编写代码?如果有人输入了非数字的内容,则程序不会崩溃并引发异常。@James如果您以文本形式内联发布代码而不是链接到图像,则对审阅者来说更容易。@user13427216我现在知道了。2天前我不能,因为我的业力还没有结束。你在第1行有一个意外的缩进。关于第一个代码块,谢谢您的更正,但是我的解决方案对您有帮助吗?是的。而且没有意外的缩进,我不知道try:是脚本的一部分。谢谢你的帮助。如果这是有帮助的,一定要接受它作为一个答案,这样将来它可能会帮助别人:)
    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:
  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")