Python IF语句,直接到ELSE

2024-04-25 09:00:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我的剧本好像有问题,希望你们能帮我。我才刚开始编程,所以请耐心听我说。我的项目是,当有人填写1000-1199之间的任何数字时,它必须显示答案A。如果是1200-1299之间的任何数字,它必须显示答案B。但是If和ELIF语句工作不正常。它跳过了这两个,直接转到另一个。你知道吗

这里的脚本:

import easygui

var1 = range(1000, 1200)
var2 = range(1200, 1300)

input = easygui.enterbox(msg="Fill in your number", title="Input1")

if input == var1:
    easygui.msgbox(msg="Answer A", title="title1")
elif input == var2:
    easygui.msgbox(msg="Answer B", title="title2")
else:
    easygui.msgbox(msg="Nothing", title="Title3")

提前谢谢!你知道吗

问题解决了!谢谢你的回答。你知道吗


Tags: 项目答案answerinputiftitle编程range
3条回答

使用in语句并将输入值解析为整数类型:input = int(input)

import easygui

var1 = range(1000, 1200)
var2 = range(1200, 1300)

input = easygui.enterbox(msg="Fill in your number", title="Input1")
input = int(input)

if input in var1:
    easygui.msgbox(msg="Answer A", title="title1")
elif answer in var2:
    easygui.msgbox(msg="Answer B", title="title2")
else:
    easygui.msgbox(msg="Nothing", title="Title3")

试着这样做:

import easygui

var1 = range(1000, 1200)
var2 = range(1200, 1300)

my_input = easygui.enterbox(msg="Fill in your number", title="Input1")

if int(my_input) in var1:
    easygui.msgbox(msg="Answer A", title="title1")
elif int(my_input) in var2:
    easygui.msgbox(msg="Answer B", title="title2")
else:
    easygui.msgbox(msg="Nothing", title="Title3")

下面的代码将帮助您。你知道吗

  1. 不要在input行中使用python关键字作为变量。你知道吗
  2. 当我们从GUI接收到输入时,它返回一个string,所以将其转换为int
  3. 使用in而不是==。你知道吗

    import easygui
    var1 = range(1000, 1200)
    var2 = range(1200, 1300)
    input1 = int(easygui.enterbox(msg="Fill in your number", title="Input1"))
    
    if input1 in var1:
        easygui.msgbox(msg="Answer A", title="title1")
    elif input1 in var2:
        easygui.msgbox(msg="Answer B", title="title2")
    else:
        easygui.msgbox(msg="Nothing", title="Title3")
    
    print type(input1), input1
    

相关问题 更多 >