このコードはどのようにして一意の文字を26回生成しますか?

ORitt

私はPythonのスキルを再学習する初心者です。私はこのコードを調べてきましたが、26回一意のランダム整数を生成する方法がわかりません。誰かが私にそれを説明できますか?

import random

alpha  = [" "] * 26

def unique_char():
    notfound = True
    while (notfound):
        possible_pos = random.randint(0,25)
        if alpha[possible_pos] != "*":
            notfound = False
        new_char = alpha[possible_pos]
        alpha[possible_pos] = "*"

    return new_char
def main():

    for i in range(26):
        alpha[i] = chr(i+65) #genderates a-z

    print(alpha)
    for count in range(26):
        good_char = unique_char()
        print(good_char, end="")
    print()

main()
Hexception

私はいくつかのコメントでコードを説明しようとします

ただし、最初に、プログラムの縮小版を紹介します。

import random
import string

alpha = list(string.ascii_uppercase) # generate a list from the alphabet iterator
print(alpha) # print the alphabet
random.shuffle(alpha) # shuffle the alphabet
print(''.join(alpha)) # print the shuffled alphabet

そしてここにあなたのプログラムの説明があります

# This program outputs the chars from A-Z in a random order

import random # import random used to generate random numbers

alpha = [" "] * 26 # multiply the ' ' string 26 times results in a array with 26 spaces [' ', ' ', .....]
# This array will later be set to the alphabet

def unique_char():
    # This function picks char in a fancy way from alpha
    # Tut it will never return a char i has previosly return
    # So all piked chars are only picked ones

    notfound = True # set a boolen to true (this is called flag)
    while (notfound): # while the flag notfount is true repeat that step
        possible_pos = random.randint(0,25) # generate a random number between 0 and 25
        # alpha[possible_pos] will return the a char in the alpha array on the random position from the previos line
        
        if alpha[possible_pos] != "*": # set notfound to false(exit the loop) if the array alpha hasn't a '*' in alpha[possible_pos]
            notfound = False

        new_char = alpha[possible_pos] # set new char to alpha[possible_pos](explaint previosly)
        alpha[possible_pos] = "*" # and set alpha[possible_pos](explaint previosly) to '*'
         # ↑ That means if the random number is again the same number we will exit the loop
    return new_char # return the latest char from alpha

def main():
    for i in range(26):
        alpha[i] = chr(i+65) #genderates a-z
        # chr converts a asci number to a char
    # fill alpha with 'A-Z'

    print(alpha) # print the lphabet

    for count in range(26): # generate 26 unique chars that means every char is generated one time (time inefficiently)
        good_char = unique_char() # generate the random char
        print(good_char, end="") # print the random char without newline -> end=""
    print() # print an empty string

main() # call the main function

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

このC ++コードスニペットはどのようにして任意の型を一意の整数に変換できますか?

分類Dev

最初のn文字を比較して一意のレコードを取得するにはどうすればよいですか?

分類Dev

一意の関数はどのようにしてデータフレーム内の一意の値のみを返しますか?

分類Dev

Gitは、主に最初の数文字で、どのようにして一意のコミットハッシュを作成しますか?

分類Dev

このコードはどのようにしてインドの地図を生成しますか?

分類Dev

このコードは、文字や数字なしで「I loveyou」をどのように生成しますか?

分類Dev

C#で一意のコードを生成するにはどうすればよいですか?

分類Dev

Ruby on Railsの一意のフィールドを使用して、大文字と小文字を区別しない一意のフィールドを取得するにはどうすればよいですか?

分類Dev

Luceneを使用して一意のIDを生成するにはどうすればよいですか?

分類Dev

Neo4jで文字列の一意のハッシュコードを生成するにはどうすればよいですか?

分類Dev

このCコードはどのようにして正しい文字列を出力しますか?

分類Dev

stackoverflowはどのようにして質問の一意の番号を作成しますか?

分類Dev

このようにshortid.generate()を使用して、反応キーを一意に設定しますか?

分類Dev

inorder + preorderはどのようにして一意の二分木を構築しますか?

分類Dev

(最初の2文字を無視して)重複したレコードから一意のレコードを取得するにはどうすればよいですか?

分類Dev

Androidを使用してFireStoreによって生成された一意のユーザーIDを取得するにはどうすればよいですか?

分類Dev

PythonとPillowを使用して、PNGまたはJPG画像の一意の色の数をどのように数えることができますか?

分類Dev

コレクションを変更して、コレクションの1つのフィールドを一意のGUIDの部分文字列に設定するにはどうすればよいですか?

分類Dev

個別のキーを持つ一連のレコードの一意の識別子を生成するにはどうすればよいですか?

分類Dev

一意の乱数の2列に5000レコードを生成します

分類Dev

Javascriptは文字列に基づいて一意の番号を生成します

分類Dev

PHP CodeIgniterでユーザー情報を連結して一意のキーを生成するにはどうすればよいですか?

分類Dev

テンプレートを使用して一意のURLとページを生成するにはどうすればよいですか?

分類Dev

React with Firestoreのデータを使用して一意のフィールド値の配列を作成するにはどうすればよいですか?

分類Dev

それぞれの一意の文字が表示される回数の値を持つ辞書の一部として、Pythonに文字列の文字の順序を使用させるにはどうすればよいですか?

分類Dev

文字列に一意の文字が含まれているかどうかを確認します

分類Dev

一連の一意の乱数を生成しようとしています

分類Dev

Yiiでは、テーブル内の別の列に対して一意性をどのように検証しますか?

分類Dev

レコードが重複しているかどうかを確認する一般的な方法はありますか?データベースの一意性制約によってチェックする必要があります

Related 関連記事

  1. 1

    このC ++コードスニペットはどのようにして任意の型を一意の整数に変換できますか?

  2. 2

    最初のn文字を比較して一意のレコードを取得するにはどうすればよいですか?

  3. 3

    一意の関数はどのようにしてデータフレーム内の一意の値のみを返しますか?

  4. 4

    Gitは、主に最初の数文字で、どのようにして一意のコミットハッシュを作成しますか?

  5. 5

    このコードはどのようにしてインドの地図を生成しますか?

  6. 6

    このコードは、文字や数字なしで「I loveyou」をどのように生成しますか?

  7. 7

    C#で一意のコードを生成するにはどうすればよいですか?

  8. 8

    Ruby on Railsの一意のフィールドを使用して、大文字と小文字を区別しない一意のフィールドを取得するにはどうすればよいですか?

  9. 9

    Luceneを使用して一意のIDを生成するにはどうすればよいですか?

  10. 10

    Neo4jで文字列の一意のハッシュコードを生成するにはどうすればよいですか?

  11. 11

    このCコードはどのようにして正しい文字列を出力しますか?

  12. 12

    stackoverflowはどのようにして質問の一意の番号を作成しますか?

  13. 13

    このようにshortid.generate()を使用して、反応キーを一意に設定しますか?

  14. 14

    inorder + preorderはどのようにして一意の二分木を構築しますか?

  15. 15

    (最初の2文字を無視して)重複したレコードから一意のレコードを取得するにはどうすればよいですか?

  16. 16

    Androidを使用してFireStoreによって生成された一意のユーザーIDを取得するにはどうすればよいですか?

  17. 17

    PythonとPillowを使用して、PNGまたはJPG画像の一意の色の数をどのように数えることができますか?

  18. 18

    コレクションを変更して、コレクションの1つのフィールドを一意のGUIDの部分文字列に設定するにはどうすればよいですか?

  19. 19

    個別のキーを持つ一連のレコードの一意の識別子を生成するにはどうすればよいですか?

  20. 20

    一意の乱数の2列に5000レコードを生成します

  21. 21

    Javascriptは文字列に基づいて一意の番号を生成します

  22. 22

    PHP CodeIgniterでユーザー情報を連結して一意のキーを生成するにはどうすればよいですか?

  23. 23

    テンプレートを使用して一意のURLとページを生成するにはどうすればよいですか?

  24. 24

    React with Firestoreのデータを使用して一意のフィールド値の配列を作成するにはどうすればよいですか?

  25. 25

    それぞれの一意の文字が表示される回数の値を持つ辞書の一部として、Pythonに文字列の文字の順序を使用させるにはどうすればよいですか?

  26. 26

    文字列に一意の文字が含まれているかどうかを確認します

  27. 27

    一連の一意の乱数を生成しようとしています

  28. 28

    Yiiでは、テーブル内の別の列に対して一意性をどのように検証しますか?

  29. 29

    レコードが重複しているかどうかを確認する一般的な方法はありますか?データベースの一意性制約によってチェックする必要があります

ホットタグ

アーカイブ