第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

嘗試通過用戶輸入關(guān)鍵字“exit”來打破 while 循環(huán)。

嘗試通過用戶輸入關(guān)鍵字“exit”來打破 while 循環(huán)。

牧羊人nacy 2023-09-26 14:04:40
你好,我正在嘗試編寫我的第一個(gè)程序,只是一個(gè)簡(jiǎn)單的 SQLite 3 程序來熟悉它。首先,該計(jì)劃的目標(biāo)是創(chuàng)建一個(gè)表來保存考古動(dòng)物遺骸的基本數(shù)據(jù)(因?yàn)樗麄儗?duì)遺骸進(jìn)行編目的方式是古老的自動(dòng)取款機(jī))。我的代碼中的問題從第 16-35 行開始,我嘗試創(chuàng)建一個(gè)循環(huán)來獲取用戶輸入,然后將該數(shù)據(jù)插入表/目錄中。我試圖讓程序識(shí)別關(guān)鍵字“exit”以退出循環(huán)。我一開始嘗試使用帶有 if & else 語(yǔ)句的 for 循環(huán),但沒有成功。我查看了其他幾個(gè)類似的問題來尋求幫助,我最近的嘗試是嘗試切換到 while 循環(huán)。使用提供的當(dāng)前代碼,輸入循環(huán)繼續(xù)進(jìn)行并忽略關(guān)鍵字“exit”。while input == 'exit'或反之亦然while input != 'exit'。我還嘗試導(dǎo)入 sys 并讓關(guān)鍵字“exit”使用 sys.exit() ,這只會(huì)使程序無法運(yùn)行(也許我將其放置在循環(huán)中太早)。我嘗試為 sys.exit() 和 break 定義函數(shù),這也給出了關(guān)鍵字被忽略的相同問題。(我最初是用pycharm編寫的,開始使用Visual Studio,因?yàn)樯鐓^(qū)版pycharm不再包含數(shù)據(jù)庫(kù)工具)(正如你所看到的,我的代碼是程序性的,我仍在努力對(duì)OOP充滿信心)(我將數(shù)據(jù)庫(kù)放在:內(nèi)存:在下面的示例中)先感謝您。如果我沒有提供有關(guān)我的問題的更簡(jiǎn)潔的信息,我深表歉意,并且很樂意提供任何其他需要的信息。import sqlite3conn = sqlite3.connect(':memory:')c = conn.cursor()cursor = conn.cursor()c.execute("""CREATE TABLE IF NOT EXISTS catalog (       number integer NOT NULL PRIMARY KEY autoincrement,       type text NOT NULL,       taxon text,       species text NOT NULL,       part text NOT NULL,       age integer,       layer text,       notes text       )""")while True:if input != 'exit':    print("Please enter individual specimen data: ")    c_number = input('Catalog #: ')    c_type = input('Type of Specimen: ')    c_taxon = input('Taxon: ')    c_species = input('Species: ')    c_part = input('Body Part: ')    c_age = input('Estimated Age: ')    c_layer = input('Sedimentary Layer: ')    c_notes = input('Notes: ')    cursor.execute("""        INSERT OR IGNORE INTO catalog(number, type, taxon, species, part, age, layer, notes)        VALUES (?,?,?,?,?,?,?,?)        """, (c_number, c_type, c_taxon, c_species, c_part, c_age, c_layer, c_notes))    conn.commit()    print('Specimen data entered successfully.')else:    if input == 'exit':        breakc.execute("""CREATE VIEW catalog (ASSELECT * FROM catalog;""")conn.close()
查看完整描述

2 回答

?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超9個(gè)贊

input是一個(gè)函數(shù),返回用戶輸入的值。

if input != 'exit':永遠(yuǎn)為真,因?yàn)?code>input是一個(gè)函數(shù),并且永遠(yuǎn)不會(huì)等于 'exit'

您需要檢查輸入的返回值以查看它是否與字符串“exit”匹配。


編輯:嘗試以下操作- 如果您有更多提示或沒有提示,則此選項(xiàng)應(yīng)該是“可擴(kuò)展的”。但有很多方法可以實(shí)現(xiàn)您想要做的事情。以下只是其中之一。我添加了評(píng)論,因?yàn)槟坪跏?python 新手!

import sqlite3


conn = sqlite3.connect(':memory:')

c = conn.cursor()

cursor = conn.cursor()

c.execute("""CREATE TABLE IF NOT EXISTS catalog (

? ? ? ?number integer NOT NULL PRIMARY KEY autoincrement,

? ? ? ?type text NOT NULL,

? ? ? ?taxon text,

? ? ? ?species text NOT NULL,

? ? ? ?part text NOT NULL,

? ? ? ?age integer,

? ? ? ?layer text,

? ? ? ?notes text

? ? ? ?)""")


while True:

? ? ? print('Please enter individual specimen data: ')

? ? ? input_prompts = [

? ? ? ? 'Catalog #: ',

? ? ? ? 'Type of Specimen: ',

? ? ? ? 'Taxon: ',

? ? ? ? 'Species: ',

? ? ? ? 'Body Part: ',

? ? ? ? 'Estimated Age: ',

? ? ? ? 'Sedimentary Layer: ',

? ? ? ? 'Notes: '

? ? ? ]


? ? ? responses = []

? ? ? response = ''

? ? ? for prompt in input_prompts: # loop over our prompts

? ? ? ? response = input(prompt)


? ? ? ? if response == 'exit':

? ? ? ? ? break # break out of for loop

? ? ? ? responses.append(response)

? ? ??

? ? ? if response == 'exit':

? ? ? ? break # break out of while loop


? ? ? # we do list destructuring below to get the different responses from the list

? ? ? c_number, c_type, c_taxon, c_species, c_part, c_age, c_layer, c_notes = responses


? ? ? cursor.execute("""

? ? ? ? ? INSERT OR IGNORE INTO catalog(number, type, taxon, species, part, age, layer, notes)

? ? ? ? ? VALUES (?,?,?,?,?,?,?,?)

? ? ? ? ? """,

? ? ? ? ? ? ? ? ? ? ?(

? ? ? ? ? c_number,

? ? ? ? ? c_type,

? ? ? ? ? c_taxon,

? ? ? ? ? c_species,

? ? ? ? ? c_part,

? ? ? ? ? c_age,

? ? ? ? ? c_layer,

? ? ? ? ? c_notes,

? ? ? ? ? ))

? ? ? conn.commit()

? ? ? responses.clear() # clear our responses, before we start our new while loop iteration

? ? ? print('Specimen data entered successfully.')


c.execute("""CREATE VIEW catalog

AS

SELECT * FROM catalog;

""")

conn.close()


查看完整回答
反對(duì) 回復(fù) 2023-09-26
?
HUX布斯

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果沒有詳細(xì)介紹您的代碼,我相信它會(huì)因識(shí)別錯(cuò)誤而失敗?


python 要求您在 while 循環(huán)內(nèi)縮進(jìn)代碼,因此它應(yīng)該如下所示。


while True:

    if input != 'exit':

        print("Please enter individual specimen data: ")

        ...

第二個(gè)問題是您從未創(chuàng)建過該變量input。當(dāng)你測(cè)試時(shí)if input == 'exit':它會(huì)失敗。您需要決定用戶在哪一點(diǎn)可以選擇鍵入exit,將其保存到變量中并測(cè)試它,大致如下(我調(diào)用變量userinput是為了不覆蓋input函數(shù)):


while True:

    userinput = input( 'type exit to exit' )

    if userinput != 'exit':

        print("Please enter individual specimen data: ")

        ...


查看完整回答
反對(duì) 回復(fù) 2023-09-26
  • 2 回答
  • 0 關(guān)注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)