在这个python脚本中,为什么它不像它所设想的那样进行减法呢?

在这个python脚本中,为什么它不像它所设想的那样进行减法呢?,python,if-statement,subtraction,Python,If Statement,Subtraction,论坛上,我只是在傻笑,看看我学到了多少,我遇到了一个问题…下面是我写的,为什么它不按照它的假设进行减法,有什么我应该考虑的吗 numbers = input("what number would you like to calculate? ") print(numbers) first = numbers[0] second = numbers[1] third = numbers[2] for i in range(1,10): z = int(third) + (i * 3)

论坛上,我只是在傻笑,看看我学到了多少,我遇到了一个问题…下面是我写的,为什么它不按照它的假设进行减法,有什么我应该考虑的吗

numbers = input("what number would you like to calculate? ")

print(numbers)
first = numbers[0]
second = numbers[1]
third = numbers[2]
for i in range(1,10):
    z = int(third) + (i * 3)
    if z >= 10:
        z = z - 10
    y = int(second) + (i * 2)
    if y >= 10:
        y = y - 10
    x = int(first) + (i * 1)
    if x >= 10:
        x = x - 10    
    print(x, y, z)
    i += 1

如果您能就此问题提供任何意见,我们将不胜感激,谢谢您的时间。

这对我很有效,但我不确定您希望得到什么样的结果。我注意到的一个问题是,不允许在输入字段中使用空格<代码>数字是一个字符串,可以使用其中的前三个字符。“”没有整数版本,因此它将引发错误

代码的输出为:

what number would you like to calculate? 123
123
2 4 6
3 6 9
4 8 2
5 0 5
6 2 8
7 4 11
8 6 14
9 8 17
0 10 20

这对我来说似乎是正确的。

我在胡闹,在y和z中添加了两个if语句,这给了我想要的结果。代码如下:

numbers = input("what number would you like to calculate? ")
print(numbers)
first = numbers[0]
second = numbers[1]
third = numbers[2]
for i in range(1,10):
    z = int(third) + (i * 3)
    if z >= 10:
        z = z - 10
    if z >= 10:
        z = z - 10
    if z >= 10:
        z = z - 10
    y = int(second) + (i * 2)
    if y >= 10:
        y = y - 10
    if y >= 10:
        y = y - 10
    if y >= 10:
        y =y - 10
    x = int(first) + (i * 1)
    if x >= 10:
        x = x - 10    
    print(x, y, z)
    i += 1

您可以转换为int进行加法运算,但现在又回到了使用字符串版本来比较10以及减法来共享您期望的和得到的输出。PS:i+=1是多余的,就像i*x周围的括号一样。@jordanm“使用字符串版本与10进行比较”是什么意思?与10相比的变量是
x
y
z
,它们都是整数。@jramsey你说得对,我看错了