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

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

嘗試在 for 循環(huán)中使用列表索引

嘗試在 for 循環(huán)中使用列表索引

肥皂起泡泡 2023-09-05 15:38:26
我在解決這個(gè)問題時(shí)遇到了一些麻煩。我有一個(gè)具有random.randint(alpha_low,alpha_high). alpha_low和alpha_high是使用函數(shù) 轉(zhuǎn)換為數(shù)字值的字母ord。然后我使用該函數(shù)將它們轉(zhuǎn)回,chr以便獲得一個(gè)隨機(jī)字母,并將其附加到final_list.問題是我想要列表的一半大寫,一半小寫。但現(xiàn)在,由于某種原因,我的代碼沒有打印一半一半,盡管我指定我希望一半保持不變,一半保持不變.upper()。import randomdef alpha_list(num_values, alpha_low, alpha_high):            final_list = []        for letter in range(num_values):        rando = (chr(random.randint(alpha_low, alpha_high)))        final_list.append(rando)    for i in range(len(final_list)):        if final_list[i] > final_list[int((len(final_list)/2)-1)]:            final_list[i] = final_list[i].upper()        else:            pass    return final_listuser_input_number = eval(input('please type an EVEN amount of letters you want: '))user_input_first_letter = ord(input('please type the first letter of the limits(lower case): '))user_input_last_letter = ord(input('please type the last letter of the limits(lower case): '))print(alpha_list(user_input_number, user_input_first_letter, user_input_last_letter))我嘗試將列表分成 2 個(gè)列表,并將該列表大寫,然后再次組合列表,但我覺得這不是最好的方法。
查看完整描述

5 回答

?
函數(shù)式編程

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

考慮到有關(guān)用戶輸入評(píng)估的注意事項(xiàng),您遇到的問題與代碼有關(guān):


for i in range(len(final_list)):

        if final_list[i] > final_list[int((len(final_list)/2)-1)]:

            final_list[i] = final_list[i].upper()

        else:

            pass

由于 Final_list 已經(jīng)包含所有小寫字母,因此您只需將列表的后半部分變?yōu)榇髮懠纯?。以下語(yǔ)句完成此任務(wù):


final_list = final_list[0:len(final_list)//2] + 

              [x in final_list[len(final_list)//2:] x.upper()]


查看完整回答
反對(duì) 回復(fù) 2023-09-05
?
守著一只汪

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

Athrough的 ASCII 值Z是 65 到 90。要變?yōu)樾?,您需要在該值上添?32。


您可以使用這些初始值(65 到 90)作為界限來確定字母,并在列表長(zhǎng)度的中間添加 32:


#!/usr/bin/env python3


import random


def build_list(length):

    l = [''] * length

    for i in range(length):

        uc = 32 if i >= length // 2 else 0

        l[i] = chr(random.randint(65, 90) + uc)

    return l


print(build_list(10)) # ['L', 'M', 'Q', 'U', 'H', 'w', 'x', 'o', 'j', 'u']

根據(jù)需要調(diào)整字母范圍。


查看完整回答
反對(duì) 回復(fù) 2023-09-05
?
絕地?zé)o雙

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

final_list = [item.upper() if idx > len(final_list) else item for idx, item in enumerate(final_list)]

在這里,我們?cè)俅蔚斜?,但使?code>enumerate給出每個(gè)元素的索引,我們可以使用它通過基于索引的條件構(gòu)造新列表。

使用地圖的更簡(jiǎn)潔的方式:

final_list[len(final_list//2):] = list(map(str.upper, final_list[len(final_list//2):]))

這里我們只得到列表的一半,并將 str.upper 應(yīng)用于該一半中的每個(gè)元素,并將新的一半分配給舊的一半。


查看完整回答
反對(duì) 回復(fù) 2023-09-05
?
阿波羅的戰(zhàn)車

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

好吧,你可以一個(gè)人for loop來完成它。嘗試一下,讓我知道這是否適合您,或者您需要任何解釋。


代碼:


import random

from typing import List



def alpha_list(letters: int,

               start: int,

               stop: int,

               randomize: bool = True) -> List[str]:

  """

  Return list of evenly* distributed characters with mixed cases.


  Args:

    letters: Maximum number of characters required in the list.

    start: Starting ordinal range.

    stop: Stopping ordinal range.

    randomize: Boolean to return random sequence.


  Returns:

    List of characters split in upper and lower cases.

  """

  chars = []


  for idx in range(letters):

    temp = (chr(random.randint(start, stop)))

    chars.append(temp.upper() if idx % 2 else temp)


  if randomize:

    random.shuffle(chars)


  return chars



# Usage:

number = int(input("Please enter even amount of characters you want: "))

first = ord(input("Please type the first character of the limits in lowercase "

                  "[ex: a]: "))

last = ord(input("Please type the last character of the limits in lowercase "

                 "[ex: z]: "))


print(alpha_list(number, first, last))

輸出:


>>> Please enter even amount of characters you want: 10

>>> Please type the first character of the limits in lowercase [ex: a]: a

>>> Please type the last character of the limits in lowercase [ex: z]: z

['r', 'w', 'r', 'i', 'z', 'U', 'F', 'Z', 'H', 'F']


查看完整回答
反對(duì) 回復(fù) 2023-09-05
?
慕少森

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

您正在比較 Final_list 中的字母。您需要比較索引以將一半字母設(shè)置為大寫。

改變:

if final_list[i] > final_list[int((len(final_list)/2)-1)]:

到:

if i > len(final_list)/2 - 1:


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

添加回答

舉報(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)