Python で非常に基本的なルーレット シミュレーターを作成しています。現時点では、赤/黒の賭けのみに焦点を当てています (基本的には、コインを使用して表または裏に賭けることと同じです)。
私のコードにはさまざまな問題があります。言語に関する私の非常に基本的な知識を許してください。
import random
# Defines initial amounts of money and losses
money = 50
losses = 0
# Asks user how much to bet
def roulette_sim():
print "How much do you want to bet?"
bet = raw_input("> ")
if bet > money:
bet_too_much()
else:
red_or_black()
# Prevents one from betting more money than one has
def bet_too_much():
print "You do not have all that money. Please bet again."
raw_input("Press ENTER to continue> ")
roulette_sim()
# Asks user to select red or black, starts the sim, modifies money/losses
def red_or_black():
print "OK, you bet %r" % (bet)
print "Red or black?"
answer = raw_input("> ")
number = random.randint(1, 2)
if number == 1 and answer == "red":
print "You win!"
money += bet
print "You now have %r money" % (money)
print "Your losses are %r" % (losses)
replay()
elif number == 2 and answer == "black":
print "You win!"
money += bet
print "You now have %r money" % (money)
print "Your losses are %r" % (losses)
replay()
else:
print "You lost!"
money -= bet
losses += bet
print "You now have %r money" % (money)
print "Your losses are %r" % (losses)
replay()
# Asks user whether he/she wants to play again
def replay():
print "Do you want to play again?"
play_again = raw_input("y/n> ")
if play_again == "y":
roulette_sim()
else:
print "OK, bye loser!"
roulette_sim()
これまでの最初の問題: bet_too_much 関数が機能しません。どのような金額を入力しても、プログラムは多すぎると表示します (つまり、'bet' は常に 'money' より大きくなります)。なんで?
これまでの2番目の問題:たとえば、次を使用して「お金」に「賭け」を追加/減算したい場合: money += bet pythonは、これをintと文字列の合計として扱います(少なくとも私はそうすると思います)。 2 つの変数を合計するよりも。どうしてこれなの?
どんな助けでも大歓迎です。
ありがとう