Saya ingin membuat permainan putaran botol karena saya bosan dan apa yang harus menguji keterampilan pengkodean saya (itu bukan bahasa Inggris yang hebat). Saya sampai sejauh ini dan ingin menambahkan fitur di mana program menanyakan berapa banyak orang yang bermain dan kemudian akan mengubah outputnya. Misalnya, ia menanyakan berapa banyak pemain dan jika Anda menjawab dengan '8', ia akan meminta 8 nama dan memilih dari nama-nama tersebut.

Saya telah mencoba melakukan:

players = input('How many people are playing?')

if player == '2':
 name1 = input(Who is player 1?')
 name2 = input('Who is player 2?')

elif player == '3'
 name1 = input(Who is player 1?')
 name2 = input('Who is player 2?')
 name3 = input ('Who is player 3?')

Dan seterusnya

import random
import time
print ('Hello and welcome to spin the bottle generator')
name1 = input('Who is player 1?')
name2 = input ('Who is player 2?')
name3 = input('Who is player 3?')
name4 = input ('Who is player 4?')


names = [name1, name2, name3, name4]
print (names)
print ('Spinning')
time.sleep(1)
print (random.choice(names))

Saya mengirimkan kode ini dan meminta jumlah pemain dan ketika saya memasukkan '4' sebagai tes, itu tidak berlanjut:/

-2
Ben Goslett 31 Juli 2019, 06:29

1 menjawab

Jawaban Terbaik

Setiap kali Anda tergoda untuk menggunakan jumlah variabel yang tidak ditentukan seperti name1, name2, itu adalah petunjuk besar bahwa Anda tidak boleh menggunakan variabel individual, tetapi harus menyimpan nilai dalam daftar seperti names lalu gunakan names[0] dll. untuk mengakses item individual.

Dalam kasus Anda, Anda bisa mendapatkan jumlah pemain dan menambahkan daftar di setiap iterasi loop. Pada akhirnya Anda akan memiliki daftar nama pemain:

num_players = int(input('How many people are playing?'))
players = []

for i in range(num_players):
    p = input(f'Who is player {i+1}?')
    players.append(p)

print(players) 
3
Mark M 31 Juli 2019, 03:36