python实现1000以内加减法计算,输出

  • 格式:docx
  • 大小:20.38 KB
  • 文档页数:4

1 / 4

#!/usr/bin/python

# -*- coding: utf-8 -*-

import sys

import random

from os.path import basename

def main():

“““ 1000以内加减法计算,输出答案“““

_help()

smallnum=100#取数范围[

bignum=1000#取数范围]

ans=[]

#生成算式个数,默认12个

if len(sys.argv)>1:

if sys.argv[1].isdigit():

cal_num=int(sys.argv[1])

else:

cal_num=12

#输出算式

i=0

while i

res = onecal(smallnum,bignum)

2 / 4

print res[0]+““,

ans.append(““.join(res)+“ “)

i=i+1

if i%4==0:

print “\n\n\n\n\n“

print “\n\n“

#输出答案

i=0

while i

print ans[i],

i=i+1

if i%4==0:

print ““

def _help():

if len(sys.argv)>1:

if sys.argv[1]==“-h“ or sys.argv[1]==“--h“ or not sys.argv[1].isdigit():

print “usage : “+basename(sys.argv[0])+“ [count]“

sys.exit()

def onecal(smallnum,bignum):

“““生成一条算式和计算结果“““

operator=[“-“,“+“,“-“,“+“,“-“,“+“]

3 / 4

cals=[]

while True:

num1=random.randint(smallnum,bignum)

num2=random.randint(smallnum,bignum)

num3=random.randint(smallnum,bignum)

operator1=random.choice(operator)

operator2=random.choice(operator)

if operator1==“+“:

res1=num1+num2

else:

res1=num1-num2

if operator2==“+“:

res2=res1+num3

else:

res2=res1-num3

if res1>=0 and res1<=bignum and res2>=0 and res2<=bignum:

out_str=str(num1)+operator1+str(num2)+operator2+str(num3)+“=“res_str=out_str+str(res2)

cals=[out_str,str(res2)]

return cals

if __name__ == “__main__“:

main()

4 / 4