這段代碼有什么問題? 為什么我的嵌套回圈沒有在帶有 if 陳述句的 while 陳述句中執行 這是一個股市游戲 這段代碼有什么問題?
import random
amount = 0
cash = 1000
y = input("How many days would you like to play ? : ")
x = 0
move=0
y=int(y)
while x < y:
price = int(random.randint(50 , 1000))
print("Stock Price:" )
print (price )
print("Cash: ")
print(cash)
print("Stocks Owned: ")
print(amount)
print("Days Remaining: ")
print(x)
print("What do you want to do? 1 to buy stocks, 2 to sell stocks, 3 to skip a day.")
move=input(": ")
#taking the input from user
if move == 1:
stock=int(input("how many stocks would you like to buy? : "))
amount = (price * stock)
cash = cash - (price * stock)
x = 1
print("--------------------------------------------------------------------------------------------------")
elif move == 2:
cash = cash (amount * price)
amount = 0
x = x 1
print("--------------------------------------------------------------------------------------------------")
elif move == 3:
x = x 1
print("--------------------------------------------------------------------------------------------------")
print("You made " cash "$ in " " days.")
print("Score: " cash / y)
*為什么if陳述句不起作用*
uj5u.com熱心網友回復:
move = input(": ")
這就是你犯錯的地方。當您獲得這樣的輸入時,該值被視為“字串”型別。(https://docs.python.org/3/library/functions.html#input)
利用,
move = int(input(":"))
正如您在其他地方所做的那樣,例如獲取庫存輸入
uj5u.com熱心網友回復:
Move 需要是一個整數,但是當輸入函式回傳時它是一個字串,所以目前沒有一個條件評估為真。您可以通過將 move 定義為: 來使 if 陳述句起作用move = int(input(": "))。
import random
amount = 0
cash = 1000
y = int(input("How many days would you like to play ? : "))
x = 0
move = 0
while x < y:
price = int(random.randint(50 , 1000))
print("Stock Price:" )
print (price )
print("Cash: ")
print(cash)
print("Stocks Owned: ")
print(amount)
print("Days Remaining: ")
print(x)
print("What do you want to do? 1 to buy stocks, 2 to sell stocks, 3 to skip a day.")
#taking the input from user
move = int(input(": "))
if move == 1:
stock = int(input("how many stocks would you like to buy? : "))
amount = (price * stock)
cash = cash - (price * stock)
x = x 1
print("--------------------------------------------------------------------------------------------------")
elif move == 2:
cash = cash (amount * price)
amount = 0
x = x 1
print("--------------------------------------------------------------------------------------------------")
elif move == 3:
x = x 1
print("--------------------------------------------------------------------------------------------------")
print(f"You made ${cash} in {y} days.")
print(f"Score: {cash / y}")
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/416340.html
標籤:
下一篇:有人可以在這里解釋輸出的差異嗎?
