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

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

計(jì)算列表中特定整數(shù)組的總和

計(jì)算列表中特定整數(shù)組的總和

慕姐8265434 2022-09-13 19:14:09
因此,我對(duì)python非常陌生,并且我正在嘗試制作一個(gè)基于文本的類(lèi)似rpg的東西,該事物涉及具有2個(gè)出口(左側(cè)或右側(cè))的第一個(gè)房間,之后的每行房間都有最后一個(gè)房間之和的整數(shù)量,每個(gè)變量都是從0到3(退出量)的隨機(jī)整數(shù), 這樣:a = [2]print(a)import randomb = []for i in range(0,2):    x = random.randint(0,3)    b.append(x)print(b)b_sum = sum(b)import randomc = []for i in range(0,b_sum):    x = random.randint(0,3)    c.append(x)print(c)c_sum = sum(c)import randomd = []for i in range(0,c_sum):    x = random.randint(0,3)    d.append(x)print(d)d_sum = sum(d)import randome = []for i in range(0,d_sum):    x = random.randint(0,3)    e.append(x)print(e)e_sum = sum(e)import randomf = []for i in range(0,e_sum):    x = random.randint(0,3)    f.append(x)print(f)f_sum = sum(f)import randomg = []for i in range(0,f_sum):    x = random.randint(0,3)    g.append(x)print(g)這工作正常,但導(dǎo)航已被證明很難。rowlist = [a,b,c,d,e,f,g,h,ii]row = (rowlist[0])room = (a[0])print(room)if room == 2:    door=str(input("left or right"))    if door == "left":        roomsum = sum(row[row < room (+1)])我在這里試圖做的是找到當(dāng)前“房間”之前的列表中的每個(gè)整數(shù)的總和。但我不知道如何做到這一點(diǎn)!任何幫助將不勝感激,非常感謝!
查看完整描述

1 回答

?
慕的地10843

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

看起來(lái)你正在尋找這樣的東西:


import random


big_list = [[2]]


for _ in range(1,5):  # increase to create more "rooms"

    big_list.append( [random.randint(0,3) for _ in range(sum(big_list[-1]))])


total = 0

for inner in big_list:

    print(inner, "before:", total)

    total += sum(inner) 

生成如下列表:


[2] before: 0

[3, 1] before: 2

[2, 3, 1, 1] before: 6

[1, 1, 2, 0, 2, 2, 2] before: 13

[2, 3, 0, 2, 3, 2, 2, 1, 0, 2] before: 23

由于隨機(jī)性,您還可能得到:


[2] before: 0

[0, 1] before: 2

[0] before: 3

[] before: 3

[] before: 3

列表中的部分和可以通過(guò) sum 或列表切片和 sum 中的生成器表達(dá)式獲得:


lol = [[1,2,3], [4,5,6,7,8,9,10,11,12], [13,14,15,16,17]]


idx_in_lol   = 1      # [4,5,6,7,8,9,10,11,12]


idx_in_inner = 5      # [4,5,6,7,8,***9***,10,11,12]


# generator expression and enumerate     

s1 = sum( i if idx < idx_in_inner else 0 for idx,i in enumerate(lol[idx_in_lol]))


# or by slicing

s2 = sum( lol[idx_in_lol][:idx_in_inner] )


print(s1, s2) 

輸出:


30 30 #  4+5+6+7+8 = 30


查看完整回答
反對(duì) 回復(fù) 2022-09-13
  • 1 回答
  • 0 關(guān)注
  • 93 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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