如果我取随机整数,如何除无余数?
How do I divide without remainder, if I take random integers?
我还是编程新手。
我想编写一个完整的脚本,我可以在其中由操作员决定并获得 2 个随机数等等。
它有效,但如果我想分配一些东西,可以进行一些计算,例如 59:6= 逗号后有 9 位数字。
毕竟我确实以分割部分的代码结束了
def division():
x = randint(1, 100)
y = randint(1, 10)
a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
b = x / y
g = round(b, 0)
if a == g:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(g))
start()
这不是我所知道的最佳解决方案,但我只想进行没有任何余数的计算,但我不知道如何计算。
有什么建议吗?
我的全部代码,如果你想测试它:
from random import randint
def plus():
x = randint(1, 1000)
y = randint(1, 1000)
a = int(input("Task: What is " + str(x) + "+" + str(y) + "?\n"))
b = x + y
if a == x+y:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
def minus():
x = randint(1, 100)
y = randint(1, 100)
if x < y:
minus()
else:
print()
a = int(input("Task: What is " + str(x) + "-" + str(y) + "?\n"))
b = x - y
if a == x-y:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
def multiplication():
x = randint(1, 10)
y = randint(1, 10)
a = int(input("Task: What is " + str(x) + "*" + str(y) + "?\n"))
b = x * y
if a == x*y:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
def division():
x = randint(1, 100)
y = randint(1, 10)
a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
b = x / y
g = round(b, 0)
if a == g:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(g))
start()
def start():
v = input("Which operator do you wanna use? (+, -, *, :): ")
if v == '+':
plus()
elif v == '-':
minus()
elif v == '*':
multiplication()
elif v == ':':
division()
else:
print(">>> End . . .")
start()
您正在寻找 div 运算符,它在 python 中是 //
示例:5 // 2 == 2
编辑:
我又看了一遍你的问题,在这种情况下你需要以稍微不同的方式生成随机数
g = randint(1, 10)
y = randint(1, 10)
x = g * y
所以答案 g 在 x 之前计算,y 在之后用随机 y,g 计算 x,它在 (1,100)
范围内
随机选择除法的结果和一个除数,然后将它们相乘得到你的第一个数字。例如,如果生成 6 和 4,则要求生成 24 / 6。
def division():
b = randint(1, 10)
y = randint(1, 10)
x = b * y
a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
if a == b:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
提供的替代选项(此处用处不大)是使用 fractions
模块:您可以给它一个分子和一个分母(或字符串分数),它会自动简化分数:
>>> fractions.Fraction(32, 8)
Fraction(4, 1)
>>> fractions.Fraction(32, 9)
Fraction(32, 9)
>>> fractions.Fraction(32, 10)
Fraction(16, 5)
简化为 1
分母的分数是整数。
我还是编程新手。 我想编写一个完整的脚本,我可以在其中由操作员决定并获得 2 个随机数等等。 它有效,但如果我想分配一些东西,可以进行一些计算,例如 59:6= 逗号后有 9 位数字。 毕竟我确实以分割部分的代码结束了
def division():
x = randint(1, 100)
y = randint(1, 10)
a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
b = x / y
g = round(b, 0)
if a == g:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(g))
start()
这不是我所知道的最佳解决方案,但我只想进行没有任何余数的计算,但我不知道如何计算。 有什么建议吗?
我的全部代码,如果你想测试它:
from random import randint
def plus():
x = randint(1, 1000)
y = randint(1, 1000)
a = int(input("Task: What is " + str(x) + "+" + str(y) + "?\n"))
b = x + y
if a == x+y:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
def minus():
x = randint(1, 100)
y = randint(1, 100)
if x < y:
minus()
else:
print()
a = int(input("Task: What is " + str(x) + "-" + str(y) + "?\n"))
b = x - y
if a == x-y:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
def multiplication():
x = randint(1, 10)
y = randint(1, 10)
a = int(input("Task: What is " + str(x) + "*" + str(y) + "?\n"))
b = x * y
if a == x*y:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
def division():
x = randint(1, 100)
y = randint(1, 10)
a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
b = x / y
g = round(b, 0)
if a == g:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(g))
start()
def start():
v = input("Which operator do you wanna use? (+, -, *, :): ")
if v == '+':
plus()
elif v == '-':
minus()
elif v == '*':
multiplication()
elif v == ':':
division()
else:
print(">>> End . . .")
start()
您正在寻找 div 运算符,它在 python 中是 //
示例:5 // 2 == 2
编辑: 我又看了一遍你的问题,在这种情况下你需要以稍微不同的方式生成随机数
g = randint(1, 10)
y = randint(1, 10)
x = g * y
所以答案 g 在 x 之前计算,y 在之后用随机 y,g 计算 x,它在 (1,100)
范围内随机选择除法的结果和一个除数,然后将它们相乘得到你的第一个数字。例如,如果生成 6 和 4,则要求生成 24 / 6。
def division():
b = randint(1, 10)
y = randint(1, 10)
x = b * y
a = int(input("Task: What is " + str(x) + ":" + str(y) + "?\n"))
if a == b:
print("Nice!")
start()
else:
print("Wrong! The right answer is " + str(b))
start()
提供的替代选项(此处用处不大)是使用 fractions
模块:您可以给它一个分子和一个分母(或字符串分数),它会自动简化分数:
>>> fractions.Fraction(32, 8)
Fraction(4, 1)
>>> fractions.Fraction(32, 9)
Fraction(32, 9)
>>> fractions.Fraction(32, 10)
Fraction(16, 5)
简化为 1
分母的分数是整数。