python100天1-7天学习小记
turtle库中的setheading与right的区别:
setheading:小乌龟每旋转完一次,朝向重置为东方向(即x轴正向)
right:小乌龟旋转完朝向不重置
小乌龟方向规律:正正左顺,负负右逆
运算符:
//与/的区别://取的是取商得到的最小整数,/取的是实际取商得到的数
学习python的标准数据类型:数字,字符串,列表,元组,字典,集合
简单了解生成器的作用:生成器是迭代器中的一种,生成器可以在循环中不断推算出后续元素,只是生成所需要的元素,不会占用大量的内存(generator)
自定义函数:可以将需要重复计算的过程封装成自定义函数,从而节省代码量。
内置函数:random os
排坑:
def main():
names = ['关羽', '张飞', '赵云', '马超', '黄忠']
subjs = ['语文', '数学', '英语']
scores=[[0]*3]*5
for row, name in enumerate(names):
print('请输入%s的成绩' % name)
for col, subj in enumerate(subjs):
scores[row][col] = float(input(subj + ': '))
print(scores)
# for row, name in enumerate(names):
# print('请输入%s的成绩' % name)
# scores[row] = [None] * len(subjs)
# for col, subj in enumerate(subjs):
# score = float(input(subj + ': '))
# scores[row][col] = score
# print(scores)
if __name__ == '__main__':
main()
按照代码逻辑,要实现的应该是将5名学生的成绩打印出来
scores=[[0]*3]*5
生成5行,每行三列
执行结果如下
我们需要遍历names和subjs,将输入的各科成绩添加到对应的列表,程序执行结果
只打印出了最后一位的成绩
我们可以在第二个for循环中打印scores
通过输出结果发现,下一个同学的成绩会覆盖掉上一个同学的成绩,并不是会增加到对应的列表
so
改一下代码内容