我正在使用pygal来模拟掷骰子。我想将其保存为np.delete
文件。
svg
但是它给出了一个错误:
如果len(字符串)>索引和索引> 0:TypeError:类型' int'的对象 没有len()"
如果我评论列表理解线
import pygal
from die import Die
die_1 = Die()
die_2 = Die(10)
results = []
for roll_num in range(50000):
result = die_1.roll() + die_2.roll()
results.append(result)
frequencies = []
max_result = die_1.num_sides + die_2.num_sides
for value in range(2,max_result+1):
frequency = results.count(value)
frequencies.append(frequency)
hist = pygal.Bar()
hist.title = "Result of rolling a D6 and D10 50000 times"
hist.x_labels = [x for x in list(range(2,max_result+1))]
hist.x_title = "Result"
hist.y_title = "Frequency of Result"
hist.add('D6+D10', frequencies)
hist.render_to_file('different_dice.svg')
它会起作用。这个列表理解中有什么不正确的吗?
答案 0 :(得分:0)
在字符串hist.x_labels = [x for x in list(range(2,max_result+1))]
中,您不使用list
,仅使用range(2,max_result+1)
就足够了。
例如,在我的程序中使用
histogram.x_labels = [num for num in range(2, max_result + 1)]