首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >随机因子并将其导出到python中

随机因子并将其导出到python中
EN

Stack Overflow用户
提问于 2016-12-21 21:09:37
回答 1查看 121关注 0票数 0

我被分配了一项任务,要求我有一个用户输入数字,然后运行一个带有随机因子的公式。然后,用户应该可以选择将数据保存到文本文件。到目前为止,我已经完成了任务,但由于随机因素,我面临着文本文件上的数据不一致的问题,我如何克服这个问题?谢谢。

代码语言:javascript
复制
import random
import os.path
def main ():
    print ("1.input numbers")
    print ("2.run formula")
print ("3.export data")
maininput = int(input("Enter:"))
if maininput == 1:
    number ()
elif maininput == 2:
    formula ()
elif maininput == 3:
    file_check ()
elif maininput >3:
    print ("invalid number")
    return main ()

def number ():
    number.n1 = int(input("first number:"))
    number.n2 = int(input("second number:"))
    main()

def formula ():
    randomfactor = random.uniform (0.8 ,0.5)
    output = number.n1 * number.n2 * randomfactor
    print (" answer:",round (output))
    main()

def file_check ():
    file_check.file_name = input("What would you like to name the file?")
    if os.path.exists (file_check.file_name):
        print ("A file with the same name already exists")
        print ("Press 1 to overwrite")
        print ("Press 2 to choose a new file name")
        option = int(input("Enter:  "))
        if option ==1:
            export()
        elif option ==2:
            return file_check()
        elif option >2:
            return file_check()
    if not os.path.exists(file_check.file_name):
        export()

def export ():
    file = open (file_check.file_name,"w")
    randomfactor = random.uniform (0.8 ,0.5)
    output = number.n1 * number.n2 * randomfactor
    exout = round (output)
    file.write ("number:" + str(exout)+ '\n')
    file.close
    main ()




main ()
EN

回答 1

Stack Overflow用户

发布于 2016-12-21 21:20:28

你产生两次随机数。因此您可以将结果存储在formula.output

代码语言:javascript
复制
def formula ():
    randomfactor = random.uniform (0.8 ,0.5)
    formula.output = number.n1 * number.n2 * randomfactor
    print (" answer:",round (output))
    main()

然后使用此结果写入您的文件:

代码语言:javascript
复制
def export ():
    file = open (file_check.file_name,"w")
    exout = round (formula.output)
    file.write ("number:" + str(exout)+ '\n')
    file.close
    main ()

顺便说一句。您可以将if not os.path.exists(file_check.file_name):更改为else:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41263546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档