目前,我正在尝试创建一个python应用程序,它将接受我的代码,创建一个包含歌曲的列表。然后从歌曲列表中随机选择的问题中创建一个随机问题。我知道。你知道吗
这是我的代码,希望有人能帮我。我似乎得到了一个错误:
'del question[count]
IndexError: list assignment index out of range'.
据我所知,我不认为这是超出范围,我花了几个小时试图找出它。这是我的代码:
import csv, random
#creating random questions
def random_songs(username):
songBook = open('songs.csv', 'r')
con_song = csv.reader(songBook)
user = open('user_data.csv', 'a')
con_user= csv.writer(user, delimiter = ',')
class data():
songs = []
count = 0
song_name = []
artist_name = []
song_answer = []
song_question = []
#Setting the song name and artist into a list.
for i in con_song:
for x in i:
data.songs.append(x)
#Splitting up the data from the csv file into song name and artist name.
for length in range(0, len(data.songs)):
if data.count % 2 == 0:
data.song_name.append(data.songs[data.count])
data.count += 1
else:
data.artist_name.append(data.songs[data.count])
data.count += 1
#Randomly chosing a song
for i in range(0, 1):
number = random.randint(0, len(data.song_name))
data.song_answer.append(data.song_name[number])
#Generating the question
#print(data.song_answer)
question = []
for s in data.song_answer:
question = list(s)
print(s)
length_s = int(len(s) -1)
count = 1
for i in range(length_s):
if count <= length_s and count > 1:
print('good')
count = int(count)
del question[count]
count += 1
else:
print('bad')
count += 1
random_songs('James')
以下是链接上的歌曲csv文件项目: https://drive.google.com/open?id=1LxPlKF0pduXE1_r7WWzlwzMZ0mKeY4yY
我希望,你能帮上忙,或者这件事解决后能帮上忙。你知道吗
提前谢谢。 詹姆斯·麦卡农
让我们改善你的循环。。你知道吗
第一个for循环似乎是合法的,所以你可以保留它,只要去掉count
第二个for循环可以这样替换:
我们不需要在python中使用range,您可以在迭代时删除它。我没有测试这个,但如果问题是一个有效的列表,它应该工作。你知道吗
我不知道你想做什么,但希望这能给你指明正确的方向
相关问题 更多 >
编程相关推荐