要怎么能力学会Python编程呢?我感觉最好的办法就是“做中学,玩中学”,只有亲自动手去做Python我的项目,能力学以致用,真正把握这门编程语言,为我所用。编程玩家俱乐部推出了挑战100+ Python我的项目,代码和文档开源在:https://github.com/zhiwehu/10... 来吧,让咱们动手做起来!
1分钟数学运算
我的项目需要
- 间接在控制台应用命令行运行
- 程序运行之后倒计时1分钟之后完结
- 随机出100以内的2个整数加减乘除运算题目(除法确保可能除尽,但除数不能为0)
- 每出一道题目,由玩家给出答案,而后程序判断对错,接着出下一题,并且显示剩余时间
- 1分钟工夫完结,显示总题数和正确率(正确率准确到小数点后2位),并将之前的题目和答案显示进去
我的项目练习
- 格式化字符串输入
- 循环
- 条件判断
- 列表
- 异样解决
- 自定义函数
- 工夫工具包
- 随机工具包
我的项目参考代码
import timeimport randomdef get_divisor(n): ''' 随机取得一个数n的整数除数。 :param n: 一个整数 :return: 一个数n的整数除数 ''' l = [] for i in range(1, n + 1): if n % i == 0: l.append(i) return random.choice(l)if __name__ =='__main__': ops = ['+', '-', '*', '/'] start_time = time.time() total = 0 correct = 0 questions = [] while time.time() - start_time <= 60: a = random.randint(1, 99) op = random.choice(ops) if op == '/': # 如果是除法,b为a的一个随机整数除数 b = get_divisor(a) else: b = random.randint(1, 99) # 正确答案 a_op_b = '{}{}{}'.format(a, op, b) c = int(eval(a_op_b)) # 让用户输出答案 try: ans = int(input('{} = '.format(a_op_b))) except: ans = '' # 查看是否正确 if time.time() - start_time <= 60: if c == ans: print('正确!剩余时间{}秒。'.format(int(60 - (time.time() - start_time)))) correct = correct + 1 else: print('谬误!剩余时间{}秒。'.format(int(60 - (time.time() - start_time)))) total = total + 1 questions.append('{}={}'.format(a_op_b, ans)) print('{}道题目,正确率 {:.2f}%。'.format(total, correct / total * 100)) for q in questions: print(q)
测试运行
将代码保留为1.py,而后在控制台运行:
python 1.py