-3

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

这是代码:

单击此处获取代码图像

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

这是我在 x = 1 Small 时得到的输出!完毕!

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

我想要它做的是当 x = 1-5 之间的任何东西输出小!然后完成!或者如果它在 5-infinity 之间输出 Big! 然后完成!但如果数字不是 1 或 5,它只会输出 Done!我应该对我的代码进行哪些更改?

4

5 回答 5

1
x = 5
if x in range(6):
    print('Small')
elif x >=6 :
    print('Big')
print('Done')

尝试这个。range 函数检查数字是否在 0 到 6 之间,即 0 到 5。任何小于 0 的都将被忽略

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

干杯

于 2020-12-28T04:11:43.920 回答
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 的数字,它们似乎都运行良好。

这是一个示例输出 输出

于 2020-12-28T04:12:52.297 回答
0

您可以创建一个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根据您的目标玩弄这些陈述

于 2020-12-28T04:07:46.983 回答
0
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!')
于 2020-12-28T04:10:50.397 回答
0

如果您的意思是评论中提到的上述情况

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

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

于 2020-12-28T04:44:44.740 回答