我的剧本似乎有问题,我希望你们能帮助我。我刚开始编程,所以请耐心等待。我的项目是当有人填写1000-1199之间的任何数字时,它必须显示答案A.如果它在1200-1299之间的任何数字,它必须显示答案B.但IF和ELIF语句不能正常工作。它会跳过它们并直接进入ELSE。
这里的脚本:
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")
提前致谢!
问题解决了!谢谢你的所有答案。
答案 0 :(得分:1)
使用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")
答案 1 :(得分:1)
以下代码可以帮助您。
input
中的变量。string
,因此将其转换为int
使用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
答案 2 :(得分:0)
试试这样:
def randbin(M,N,P): # function to generate random binary matrix
mat = (np.random.rand(M,N)>=P).astype(int)
return mat
y = randbin(5,4,0.3)