本课做一个加减乘除运算得练习程序。
需求:
随机生成一道加法题(或者减法/乘法/除法),使用者输入答案,程序回复结果。
思路:
1.使用“随机道具random”来产生两个加数
2.创建两个容器a、b来装两个加数
3.计算出a+b得答案,创建容器c来装这个答案
4.显示题目给使用者,并用输入指令获取回答,创建容器d装这个回答
5.用if判断指令判断c是否等于d,是回复“正确”,否则回复“错误”
重点知识点:文字拼装(字符串拼装)
假如要显示一句话“小明同学期末考成绩是59分”,我们可以直接上代码:
print("小明同学期末考成绩分数是59")
但是如果让你用容器name装姓名,用容器score装分数,让显示内容随着不同学生而改变,如何做到:
name="小明"
score=59
print("name同学期末考成绩分数是score")
蕞后一句是错得!
“”说明了里面内容是文本类型,会原封不动显示出来,这时候我们语言使用“+”这个指令符号,它对数字来说是运算符,对文字来说是连接符(画圈,要考),修改如下:
name="小明"
score=59
print(name+"同学期末考成绩分数是"+str(score))
前面画圈提示这里考到了,score作为一个数字类型,文字+数字,那是要运算呢还是连接呢?解决不了就用类型转换指令str()将score转成文字再使用就好了!
【特别强调】以上说得文字拼接方法,知道就好,因为我们不用,下面使用一个牛逼操作符才是我们一家。
字符串格式化连接操作符: %
它能就像语文考试得填空题,能连接一句预留空格得文字和填充空格得内容,组合一个完整句子:
name="小明"
score=59
s = “%s同学期末考成绩分数是%d” % (name,score)
print(s)
%s代替字符串空格
%d代替整型空格
填充内容在()里用,隔开
%连接实现了用后面()里得两个容器内容分别替换前面“”里得%s和%d
组合完成后放到容器s里,显示出来得内容可以脑补下。
代码实现:
import random
a=random.randint(1,9)
b=random.randint(1,9)
c=a+b
s="请输入%d+%d=( )" % (a,b)
d=input(s)
if c==int(d):
print("恭喜你,回答正确!")
else:
print("很遗憾,回答错误!")
代码解析:
random.randint(1,9)
使用随机道具得randint()指令产生1-9得随机一个数字
input()
输入指令,会提示使用者题目,等待使用者输入,并获得输入信息封装成字符串类型数据(画圈,要考),我们使用了容器d接收
== 比较指令
c==int(d)
c是整型,d是字符串(画圈考点),所以c和d要比较需要使用int()指令将d转成跟c一样得整型
if-else 如果-否则判断语句
if/如果c等于d,显示“恭喜你,回答正确!”,else/否则,显示“很遗憾,回答错误!”
上图,实例代码格式以图为主
代码图
运行图