我对python很新,很抱歉,如果这有点基础。我已经开始制作轮盘游戏来提高我的编程技巧,并且遇到了一个非常奇怪的错误。首先,当我想在滚动结束时打印玩家的平衡时,一旦结果被检查,它就会打印出包含所有红色数字的数组。我查看了定义balance
变量的代码,但没有任何东西看起来可能会影响它。我出于某种原因认为将balance
定义为int(100)
而不是100
可能会解决它,但我反而得到了这个错误:TypeError: checkresults() missing 1 required positional argument: 'bet'
我删除了int
中的balance
并且它仍然存在。对于那些想知道的人,我让checkresults
使用bet
,甚至尝试移动它所使用的变量列表中的位置,但仍然没有修复。你可以看到balance = checkresults(bet, bet_choice, number, balance, red, black, green, first, second, third)
,它是它使用的第一个变量。 checkresults
的完整代码在这里:
def checkresults(self, bet_choice, number, balance, red, black, green, first, second, third, bet):
if bet_choice == "number":
if bet == number:
balance = balance + (bet_amount*14)
print("You Won!")
else:
print("You Lost")
elif bet_choice == "colour":
if bet == "red":
if number in red:
balance = balance + (bet_amount*2)
print("You Won!")
else:
print("You Lost")
elif bet == "black":
if number in black:
balance = balance + (bet_amount*2)
print("You Won!")
else:
print("You Lost")
else:
if number in green:
balance = balance + (bet_amount*14)
print("You Won!")
else:
print("You Lost")
elif bet_choice == "third":
if bet == "1st":
if number in first:
balance = balance + (bet_amount*3)
print("You Won!")
else:
print("You Lost")
elif bet == "2nd":
if number in second:
balance = balance + (bet_amount*3)
print("You Won!")
else:
print("You Lost")
elif bet == "3rd":
if number in third:
balance = balance + (bet_amount*3)
print("You Won!")
else:
print("You Lost")
return balance
下注的价值取决于:
def choosebet():
bet_choice = input("Would you like to bet on a number, colour, or a third? ")
if bet_choice == "number":
bet = int(input("Which number would you like to bet on? "))
elif bet_choice == "colour":
bet = input("Which colour would you like to bet on?")
else:
bet = input("Which third would you like to bet on?")
return bet, bet_choice
我在self
代码的定义部分中有checkresults
,来自之前的错误。我删除了self
和1:它修复了新错误和2:旧错误没有回来。
定义的checkresults
需要11个参数 - 看起来第一个参数应该是checkresults
定义的类的实例 - 当你直接调用方法而不引用它认为你没有通过第11个参数的实例时。
我做的完全一样。我在大约两个半月前开始使用python,过去一个月一直在玩轮盘游戏。
这不能回答这个问题,但是当我开始时我遇到了类似的问题。如果你的意图是建立整个游戏,那么你所走的道路是不可持续的。会有太多的elif陈述,你会想要撕掉你的头发(正如我所做的那样)。
我最终做的是将所有“常量”放在词典中。常数我指的是每次下注中的数字(红色与黑色,奇数与偶数等),方向盘上的数字以及每次下注的奖金。
从那里你可以使用字典方法在赌注词典中查找中奖号码(即这是一个红色或黑色的数字),然后将其与下注的字典进行比较,如果有匹配,请查找支付投注。
祝好运!