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

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

如何從用戶輸入中捕獲矩陣并在用戶輸入時(shí)將其打印出來?

如何從用戶輸入中捕獲矩陣并在用戶輸入時(shí)將其打印出來?

蝴蝶不菲 2023-08-08 17:05:08
我正在用 numpy 嘗試創(chuàng)建一個(gè) 3x3 矩陣。我想通過用戶輸入捕獲矩陣輸入,然后在用戶輸入時(shí)打印出矩陣。這就是我現(xiàn)在所擁有的,它會(huì)拋出一個(gè)ValueError: invalid literal for int() with base 10: 當(dāng)我運(yùn)行它時(shí),我不知道為什么。我不會(huì)在任何地方輸入字母“a”,而只會(huì)輸入數(shù)字。def matrix():    row = int(3)    column = int(3)    matrix_input = []    print("Enter the entries in a single line (separated by space): ")    for i in range(row):  # A for loop for row entries        entries = []        for j in range(column):  # A for loop for column entries            entries.append(int(input()))        matrix_input.append(entries)    # matrix_input = np.array(entries).reshape(row, column)    print(matrix_input)目標(biāo)是讓用戶在三個(gè)單獨(dú)的行上輸入 3 個(gè)數(shù)字。例子:130304603然后,程序會(huì)按照用戶輸入的內(nèi)容以相同的格式準(zhǔn)確地輸入該內(nèi)容。130304603任何指導(dǎo)將不勝感激。謝謝
查看完整描述

4 回答

?
搖曳的薔薇

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

現(xiàn)在,您的代碼分別要求每個(gè)元素。如果你輸入數(shù)字直到它像這樣結(jié)束


111

222

333

444

555

666

777

888

999

程序?qū)⒎祷?/p>


[[111, 222, 333], [444, 555, 666], [777, 888, 999]]

發(fā)生這種情況是因?yàn)閕nput()位于最內(nèi)層循環(huán)內(nèi),因此被調(diào)用了 9 次。


因此,如果您想輸入所示的由空格分隔的值,您可以使用列表理解將其轉(zhuǎn)換為數(shù)字列表:


row = int(3)

matrix_input = []

print("Enter the entries in a single line (separated by space): ")

for i in range(row):  # A for loop for row entries

    matrix_input.append([int(k) for k in input().split(' ')])


for out in matrix_input:

    print('{0} {1} {2}'.format(*out))

這將要求三個(gè)條目,這些條目沿空格分割并轉(zhuǎn)換為整數(shù)。如果你想要浮動(dòng),你可以使用float(k)而不是int(k)。print 命令使用解包并返回行for ... in。


或者,您可以使用' '.join(),它更靈活:


for out in matrix_input:

    print(' '.join([str(el) for el in out]))

這實(shí)際上是構(gòu)造矩陣的逆運(yùn)算。


查看完整回答
反對(duì) 回復(fù) 2023-08-08
?
大話西游666

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

def matrix(): 

    row = int(3)

    column = int(3)

    matrix_input = []

    print("Enter the entries in a single line (separated by space): ")


    for i in range(row):  # A for loop for row entries

        ints =input()


        entries = []


        for a in ints:

          entries.append(int(a))

        matrix_input.append(entries)


    for ele in matrix_input:

      for d in ele:

        print(d,end='')

      print('')


matrix()

輸入:


Enter the entries in a single line (separated by space): 

130

304

603

輸出:


130

304

603


查看完整回答
反對(duì) 回復(fù) 2023-08-08
?
弒天下

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

問題是您試圖將整個(gè)字符串(每個(gè) int 之間有空格的輸入)轉(zhuǎn)換為整數(shù)。


相反,您需要拆分輸入。見下文:


def matrix():

    row = int(3)

    column = int(3)

    matrix_input = []

    print("Enter the entries in a single line (separated by space): ")

    

    input_str = input()

    

    entries = []

    entries.extend([int(x) for x in input_str.split(' ')])

    

    for item in entries:

        print(item)


查看完整回答
反對(duì) 回復(fù) 2023-08-08
?
Cats萌萌

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

這可以解決問題。


def matrix():

    row = int(3)

    column = int(3)

    matrix_input = []

    print("Enter the entries in a single line (separated by space): ")

    for i in range(row):  # A for loop for row entries

        # ints = input().split()

        while True:

            ints = input().split()

            if len(ints) == 3:

                break

            print("Invalid Input Received")

            print("Enter the entries in a single line (separated by space): ")

        entries = []

        for a in ints:

            entries.append(int(a))

        matrix_input.append(entries)

    print("Output")

    for ele in matrix_input:

        for d in ele:

            print(d, end=' ')

        print('')


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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