资源简介 (共16张PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少儿编程课自创出题器小测验出一份试卷,题目全部为单项选择题:每道选择题共四个选项,答对一题得20分,答错一题不得分;答题结束后,打印分数。打印试题利用海龟先生的write函数将题目“写”在屏幕上移动画笔到屏幕的左上角,准备“写”题目写题干将选项构建成列表移动画笔,准备“写”选项每个选项由英文字母和选项内容组成,字母和选项内容之间有一个空格每“写”一个选项都要将画笔下移一段距离打印试题import turtlet=turtle.Turtle()t.up()t.goto(-160,100) #挪笔t.write('我们学习的是什么语言?',font=('楷体',16)) #打印题干ops=['python','java','scratch','c++’] #选项m='ABCD'for x in range(4):t.goto(-160,60-40*x) #调整每次打印选项的位置t.write(m[x]+' '+ops[x],font=('楷体',16))输入并判断答案利用input函数获得输入,比较用户的输入和正确答案如果回答正确增加得分,如果不正确则不得分将本道题的回答结果和目前得分告知用户输入并判断答案s=0 #记录得分a=input('答案: ') #输入答案if a=='a' or a=='A': #若输入a或者As+=20 #回答正确,加20分print('回答正确,目前得分:',s)else:print('回答错误,目前得分:',s)如何改变每次的选项顺序如果每次“写”题目时,选项顺序都是一模一样的会大大降低题目的复杂性和趣味性,如何让每次选项顺序都不相同呢?很简单,只要每次“写”选项前都使用random.shuffle对选项做一次乱序即可判断答案选项顺序改变了,也就意味着不能以ABCD作为答案正确与否的依据了。因为每一次ABCD对应的选项内容都是不断变化的。该怎么办?判断答案要记录正确答案的内容而非标号根据用户输入的标号,找到标号在ABCD中的位置根据这个位置,到乱序后的选项列表中找到对应的内容比较1和3,如果内容一致则答对,如果不一致则错误判断答案判断答案判断答案如何改变每次的选项顺序from random import shuffleops=['python','java','scratch','c++']#选项shuffle(ops)m='ABCD'for x in range(4):t.goto(-160,60-40*x) #调整每次打印选项的位置t.write(m[x]+' '+ops[x],font=('楷体',16))记录正确答案(而非标号)from random import shuffleops=['python','java','scratch','c++']#选项shuffle(ops)answer='python' #记录题目的正确答案m='ABCD' #选项for x in range(4):t.goto(-160,60-40*x) #调整每次打印选项的位置t.write(m[x]+' '+ops[x],font=('楷体',16))找到输入的答案位置upper():将所有的英文字符转为大写find():查找相应的位置s=0 #记录得分a=input('答案: ') #输入的答案n=m.find(a.upper()) #找到用户输入的答案在m中的位置找到答案并比对if ops[n]==answer: #如果ops中对应位置的内容与answer一样s+=20 #回答正确,加20分print('回答正确,目前得分:',s)else:print('回答错误,目前得分:',s) 展开更多...... 收起↑ 资源预览