最近有个公众号粉丝问了个python的编程题,题目如下:
开发一个循环 5 次计算的小游戏,每次随机产生两个
1~10的数字以及随机选择“+、-、*”运算符,构成一个表达式,让用户计算式子结果并输入结果,如果计算结果正确则加一分,如果计算结果错误不加分。如果正确率大于等于
80%,则打印“闯关成功”,否则打印“闯关不成功”。
题目其实不难,因为刚开始学编程所以求助我,这里贴下代码:
# 这里的随机种子,随机运算符,所以需要import random以及operator
import random
import operator
print("欢迎来到猜数游戏")
#设置次数,循环五次,默认进入程序就是第一次
count = 1
#设置一个变量用于统计用户计算对的次数
acount = 0
while count<=5:
#执行一次,次数加一
count = count+1
# 声明两个在1-10之间产生随机数
number1 = random.randint(1, 10)
number2 = random.randint(1, 10)
# 声明一个变量接受随机数随机运算的结果
#operator.add();加法,operator.sub():减法,operator.mul():乘法;operator.floordiv():除法
choice = random.choice("+-*")
#由于要输出表达式,所以这里要转换成字符串
result = str(number1)+str(choice)+str(number2)
#请用户输入运算结果
temp = int(input(result+"="))
#计算实际的运算结果,根据运算符来判断
#如果是加号
if choice=='+':
result1 = number1 + number2
#如果是减号
elif choice == '-':
result1 = number1 - number2
#如果是乘号
elif choice=="*":
result1 = number1 * number2
print("实际的运算结果是:",result1)
#如果计算正确了,则acount加1
if temp == result1:
acount = acount+1
#五次循环以后游戏结束
print("游戏结束,你猜对了",acount,"次")
#计算用户猜对的比例
if acount/5>=0.8:
print("闯关成功")
else:
print("闯关不成功")