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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何更改列表中特定位置的數(shù)字

如何更改列表中特定位置的數(shù)字

RISEBY 2023-06-20 16:22:13
def id(id):    num = [int(x) for x in str(id)]    num[1] = num[1]*2    num[3] = num[3]*2    num[5] = num[5]*2    num[7] = num[7]*2    print(num)x = id(123456789)我已經(jīng)嘗試了很多方法以“專業(yè)方式”編寫這段代碼,但這是我能讓它工作的唯一方法
查看完整描述

2 回答

?
慕雪6442864

TA貢獻1812條經(jīng)驗 獲得超5個贊

def multiply_even_indexes(number):

    # Going for each digit, and multiply by 2 if it's index is even

    # int(d)*2**(i % 2) means that we:

    # 1. Convert x to number

    # 2. Multiply x with 2 in the power of either 0 or 1 (depends if `i` is even)

    #    That means:

    #    For i = 1: We get i%2==1 (reminder of 1) so it's multiply by 2^1=2 (so we multiply by two the second element)

    #    For i = 2: We get i%2==0 (mo reminder) so it's multiply by 2^0=1 (so we don't change the third element)

    digits_result = [int(d)*2**(i % 2) for i, d in enumerate(str(number))]

    return digits_result 


x = multiply_even_indexes(123456789)


# [1, 4, 3, 8, 5, 12, 7, 16, 9]

print(x)


查看完整回答
反對 回復(fù) 2023-06-20
?
陪伴而非守候

TA貢獻1757條經(jīng)驗 獲得超8個贊

如果您只是想更改某些特定位置的值,那么您做事的方式并沒有什么特別的錯誤。當(dāng)然,這里有一個你可以利用的模式:


for i in range(1, len(num), 2):

    num[i] *= 2

但是,如果位置是任意的,“專業(yè)”的方法不是在函數(shù)中使用幻數(shù),而是像這樣:


POSITIONS = [1, 4, 5, 7]


def make_id(input_id): # don't shadow built-in names

    num = map(int, str(input_id))

    for i in POSITIONS:

        num[i] *= 2

    # return some value, don't just print it

    return int(''.join(map(str, num))) 


查看完整回答
反對 回復(fù) 2023-06-20
  • 2 回答
  • 0 關(guān)注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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