2016-04-02 52 views
0

Bir listeyi tekrar etmek istediğim bir ödevim var ama farklı bir "items" (sanırım buna derdiniz).Kullanıcı girdisini bir liste içinde nasıl kullanırım?

Ben kullanıcı input ile list nasıl değiştirileceği ve ben değiştirmek gerekiyor bir counter

gibi bir şey nasıl kullanılacağını bulmaktan var gibi tek sorun: random_things=['food', 'room', 'drink', 'pet']

içine: random_things=['apple', 'bedroom', 'apple juice', 'dog']

Ama listeleri random_things[1] gibi ayrı tutmak için gerekiyor bu yüzden bu 7 kez yapmak zorunda, random things[2], etc.

Öyle deneyin ve aralık içinse bu kullanıcıya mesaj ne olması gerektiğini tam olarak emin değil

cevap

0

kodlama benim ilk yıl olduğu gibi muhtemelen istediğiniz ne kadar basit tutmak sınıf 11 değilim döngü ve döngü o random_things üzerinde kelimeler:

random_things=['food', 'room', 'drink', 'pet'] 
# store all the lists of input 
output = [] 

# loop 7 times 
for _ in range(7): 
    # new list for each set of input 
    temp = [] 
    # for each word in random_things 
    for word in random_things: 
     # ask user to input a related word/phrase 
     temp.append(input("Choose something related to {}".format(word))) 
    output.append(temp) 

yerine temp listesinin bir list comprehension kullanabilirsiniz:

random_things = ['food', 'room', 'drink', 'pet'] 
output = [] 
for _ in range(7): 
    output.append([input("Choose something related to {}".format(word)) for word in random_things]) 
random_things=['food', 'room', 'drink', 'pet'] 
# store all the lists of input 
output = [] 

# set count to 0 
count = 0 
# loop seven times 
while count < 7: 
    # new list for each set of input 
    temp = [] 
    index = 0 
    # loop until index is < the length of random_things 
    while index < len(random_things): 
     # ask user to input a related word/phrase 
     # use index to access word in random_thongs 
     temp.append(input("Choose something related to {}".format(random_things[index]))) 
     index += 1 
    output.append(temp) 
    # increase count after each inner loop 
    count += 1 

listeleri endeksleri 0'dan başladığı bu yüzden ilk öğedir:tek liste anlayışı içine birleştirilebilir Hangi: Bir sayma değişkeni kullanmak zorunda ise döngüler ise

output = [[input("Choose something related to {}".format(w)) for w in random_things] 
      for _ in range(7)] 

kullanabileceğiniz Dizin 0 değil index 1.

+0

Biçim (w) 'nin kullanımı nedir? Teşekkürler! – Francisunoxx

+0

@MiaLegaspi, ilk iterasyon 'gıda ile ilgili bir şey seçin ', ikinci' 'odayla ilgili bir şey seçin' vb .. –

+0

bir for döngüsünün yerine bir sayaç kullanabileceğim bir yol çıkacak mı? random_things + = 1 gibi bir şey mi yoksa bu imkansız mı? –

İlgili konular