【发布时间】:2021-09-30 17:21:51
【问题描述】:
我正在制作一个经济模拟器。我试图不断循环并获得/亏损,但它没有显示更新的值。它只是显示默认值和变量。我不太擅长数学变量。我已经相当成功地循环了它,尽管我认为它每次循环时都会重置变量。
import time
money = 2
moneyfo = "{:.2f}".format(money)
boughtw = 0
woodsalea = 1
woodinv = 0
woodprice = (woodsalea * 2)
woodpricefo = "{:.2f}".format(woodprice)
amntw = 0
buywcost = 0
foodinv = 0
foodsalea = 1
foodprice = (woodsalea * 2)
foodpricefo = "{:.2f}".format(foodprice)
amntf = 0
buyfcost = 0
def start():
print ("Products are wood food and stone")
print ("""Prices are wood """ + woodpricefo + " food " + foodpricefo + " stone")
def buysale():
bos = input("""Buy, Sell or Check Inventory?
""")
if bos == ("Buy"):
btyp = input("""Wood, Food, Or Stone?
""")
if btyp == ("Wood"):
amntw = input("""0-100
""")
buywcost = float(amntw) * woodprice
buywcostfo = "{:.2f}".format(buywcost)
print ("That will be $" + buywcostfo + " you have " + str(money) + " dollars would you still like to buy?")
buywyn = input("""Yes Or No
""")
if buywyn == ("Yes") and money >= buywcost:
print("You have bought Wood")
boughtw = amntw
boughtw = woodinv
boughtw * woodprice - money
woodsalea = boughtw
print (woodsalea)
print (boughtw)
print (money)
start()
buysale()
if bos == ("Sell"):
styp = input("""Wood, Food, Or Stone
""")
if styp == ("Wood"):
amntw = input("""0-100
""")
start()
buysale()
【问题讨论】:
-
你在哪里循环?我只看到
If语句(尽管我猜它们是“循环的”?)——另外,你能修复缩进吗(你的引号在第二行)。 -
你有这行
boughtw * woodprice - money,计算确实更新了任何变量。 @BruceWayne 这是一个递归函数 ;-) 但我不确定它是否完整,如果用户出售或打算购买并拒绝,它不会用于另一个循环 -
运行此代码时出现错误。您必须修复代码或添加错误的详细信息。
-
但是我得到一个错误。你应该修复它,这样我就不会了。
-
我已经在 repl.it 和本地 PyCharm 下运行它。两次都出现同样的错误(我选择了
Buy,然后选择了Food)。另外:我不必运行它,您所做的事情违反了 Python 语法规则。
标签: python simulation