练习15-8:将点数相乘 同时掷两个骰子时,通常将其点数相加。请通过可视化展示将两个骰子的点数相乘的结果。
问题分析:大部分人关于这道题最困惑的地方在于怎样表示乘积结果的序列。因为它不似之前求和时加和可能出现的结果是一个连续的数值,而是一个离散的数值,它们的加和结果不可以直接用range(1,max_results+1)来表示。
诚然,对于两个面数较小的骰子进行投掷时,我们可以直接口算出它的取值可能,直接手动输入一个列表;但我们面对骰子面数较大的情况时,更依赖于一些算法使计算机帮助我们计算得到结果。下图为我的解决思路:
算法描述: 在循环嵌循环内,得出的c值包含两个一样的值,通过if语句只留下一个,便得到我们想要的结果,最后进行排序,就可以用于之后图形的横坐标表示。
以上为我的分享,谢谢。



