AMcoder - javascript, python, java, html, php, sql

Python tkMessageBox.askyesnocell 3 տարբերակ, բուլյան ելք?

Փաստաթղթերը, որոնք ես տեսել եմ tkMessageBox-ում, կարծես թե ցույց են տալիս օգտվողի ընտրության բուլյան վերադարձ askyesnocancel երկխոսության վրա: Գոյություն ունի 3 տարբերակ, հետևաբար ինչպե՞ս կարող է բուլյան համակարգը ճիշտ կերպով գրավել օգտվողի ընտրությունը:

Ես փորձել եմ ստորև ներկայացված մոտեցումը, որտեղ «այո»-ն վերադարձնում է «Ճիշտ», «ոչ»-ը վերադարձնում է «Սխալ» և «չեղարկել»-ը վերադարձնում է «չեղարկել», բայց դա կարծես թե չի աշխատում: «Ոչ» կամ «չեղարկել» ընտրությունը երկուսն էլ կարծես վերադարձվել են որպես «Սխալ»: Որևէ մեկը որևէ գաղափար ունի այս մասին:

if tkMessageBox.askyesnocancel("Error", "Choose yes, no or cancel", default='yes')
    ...
    ...
    ...

elif "cancel":
    return
else:
    pass

Պատասխանները:


1

Իրականում, սեղմելով Cancel, վերադարձվում է None: Պարզապես փորձեք սա այս տողով.

repr(tkMessageBox.askyesnocancel("wa", "wa"))

Եզրափակելով, «Այո»-ն տալիս է True, «Ոչ»-ը՝ False, իսկ «Չեղարկել»-ը՝ None:

Խնդիրն այն է, որ None-ի բուլյան արժեքը նույնպես False է: Դուք պետք է հստակորեն ստուգեք None:

 if result is None:
     ...
28.02.2015
  • Շնորհակալություն Ես նոր գործիք եմ ավելացրել իմ գոտուն: 28.02.2015
  • Իրականում, երբ վերը նշված կոդը թարմացրի elif None-ով. այն դեռ ճիշտ չէր վարվում: Թվում էր, թե այն դեռևս այո-ից բացի այլ կոճակ է ընդունում որպես False: 28.02.2015
  • Դա չի կարող աշխատել; այնտեղ դեռ պետք է համեմատություն անես, քո կարծիքով ո՞ր բուլյան արժեքին է համապատասխանում Noneը: ;) Այսպիսով, պարզապես հաղորդագրությունների տուփի արդյունքը վերագրեք փոփոխականին և դրա փոխարեն տեղադրեք if result is None: 28.02.2015
  • Նոր նյութեր

    Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
    JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
    Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

    Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
    Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

    Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
    Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

    Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
    Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

    C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
    C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

    Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
    Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..