मैं यहां नया हूं, लेकिन मुझे लगा कि कोई मेरी मदद कर सकता है, जिस पर मैं कुछ समय से काम कर रहा हूं।

मैं एक लोट्टो गेम बना रहा हूं जहां खिलाड़ी और जीतने वाले नंबर यादृच्छिक संख्याओं का उपयोग करके बनाए जाते हैं। जबकि मैं ऐसा कर रहा हूं, मुझे काम करने के लिए जीतने वाले नंबर मिल गए हैं, लेकिन खिलाड़ियों के लिए 2D सरणी ठीक से काम नहीं कर रही है और ठीक से प्रिंट नहीं हो रही है, क्या मुझे इस मुद्दे को डीबग करने में कुछ मदद मिल सकती है

I want to create a table like below

Player ID    Player Numbers 
  1          8, 26, 24, 25, 30, 16, 25, 30
  2          15, 11, 9, 0, 8, 17, 19, 18
  3          13, 6, 18, 14, 29, 21, 13, 10

जब मैं अपना वर्तमान कोड संकलित करता हूं तो यह मुझे निम्न त्रुटि देता है:

all the players
Traceback (most recent call last):
  File "E:/User Profile/Documents/runner.py", line 66, in <module>
    lottoPlayers()
  File "E:/User Profile/Documents/runner.py", line 46, in lottoPlayers
    printPlayers(players)
  File "E:/User Profile/Documents/runner.py", line 40, in printPlayers
    for j in range(len(array[i])):
TypeError: object of type 'int' has no len()

मेरा कोड नीचे जैसा है

import random


def random_generator():
    randomNumber = random.randint(0, 30)
    return randomNumber
def generate_players():
    players = []
    for i in range(10):
        for i in range(8):
            randomNumber = random_generator()
            players.append(randomNumber)
    return players

def printPlayers(array):
    for i in range(len(array)):
        for j in range(len(array[i])): # the error looked to me like it was coming from here but i dont get it why as im doing something similar above and no errors popped-up
            print(array[i][j], end=' ')
        print()
        
def lottoPlayers():
    players = generate_players()
    print("all the players")
    printPlayers(players)

lottoPlayers()

कृपया ऐसा न करें कि यह केवल खिलाड़ी निर्माण के लिए कोड है यदि डिबग के लिए शेष कार्यक्रम के लिए कोड की आवश्यकता है तो कृपया मुझे बताएं।

0
lokki 27 सितंबर 2020, 08:09

2 जवाब

सबसे बढ़िया उत्तर
    import random


def random_generator():
    randomNumber = random.randint(0, 30)
    return randomNumber
def generate_players():
    players=[]
    for i in range(10):
        t=[]
        for j in range(8):
            r=random_generator()
            t.append(r)
        players.append(t)
    return players
      
p=generate_players()
for i in range(len(p)):
    print(i+1,"    ",p[i])
0
Mahesh Kantariya 27 सितंबर 2020, 09:10

समस्या उन पंक्तियों में है:

    for i in range(10):
        for i in range(8):
            randomNumber = random_generator()
            players.append(randomNumber)

दो for i हैं, मुझे लगता है कि यह for i (...) for j होना चाहिए।

सबसे महत्वपूर्ण बात, players को यहां 1D सरणी के रूप में परिभाषित किया गया है, लेकिन ऐसा लगता है कि आप 2D सरणी को परिभाषित करना चाहते हैं।

1
jrouquie 27 सितंबर 2020, 08:53