簡體   English   中英

Python IF語句,直接輸入ELSE

[英]Python IF Statement, straight to ELSE

我的腳本似乎有問題,希望大家能幫幫我。 我只是開始編程,所以請忍受。 我的項目是,當某人填寫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")

提前致謝!

問題解決了! 感謝所有的答案。

使用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. 不要將python關鍵字用作行input變量。
  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 

像這樣嘗試:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM