0
我的hang子手數學遊戲有一個問題,後端問題算法說實際上是正確的答案是錯誤的。這似乎只在負數乘以正數時纔會發生。例如。 -4 * 5 = -20。 從我開始創建程序時,我已經採取了我的基本算法,以確定它是否仍然存在。問題就在那裏。 我該如何解決這個問題? 這裏是我所有的GUI代碼刪除算法的示例代碼:奇怪的問題,不允許在Python數學遊戲中的否定答案
from tkinter import *
from tkinter import ttk
import random
#says negatives are incorrect when multiplying a negitive by a positive
OP = ['*', '+', '-', '/']
count = 0
range1 = input("Range 1:")
range1int = int(range1)
range2 = input("Range 2 (must be positive):")
range2int = int(range2)
while count is 0:
operator = random.choice(OP)
if operator is '/':
num1 = random.randint(1,range2int)
num2 = random.randint(1,range2int)
else:
num1 = random.randint(range1int,range2int)
num2 = random.randint(range1int,range2int)
is_looping = True
if operator is '/':
invalid = num1%num2
while invalid == 0:
num1 = random.randint(1,range2int)
num2 = random.randint(1,range2int)
invalid = num1%num2
if invalid is 0:
is_looping = False
break
if not is_looping:
break
else:
invalid = 0
if invalid is 0:
print("What is ", num1, operator, num2)
question = eval(str(num1) + operator + str(num2))
QuestInt = int(question)
AnsInput = input("Enter Answer (Press Enter When Done):")
IntAns = int(AnsInput)
if IntAns is QuestInt:
print("Correct!")
else:
print("Incorrect")
我總是想念簡單的解決方案哈哈。感謝您抽出寶貴時間來幫助:) –
@Tweakforce_LG:清楚的是,在您的原始代碼中使用'is'應該用'=='替換。 「is」有用例,尤其是與「None」,「True」和「False」等單例相比較,但它們相對較少。 –
@MarkDickinson是正確的,我可能沒有說清楚。 –