For loop 如果,如果,有没有更好的方法让我运行这个代码?

For loop 如果,如果,有没有更好的方法让我运行这个代码?,for-loop,if-statement,For Loop,If Statement,所以我是python新手 我试图运行这段代码,但考虑到我使用了大量的复制和粘贴,我的直觉告诉我有一种更简单的方法来编写这段代码。任何帮助都将不胜感激。谢谢, row = 1 #generating row number #[int(x) for x in str(cardnum)] if cardnum in range(1,22): row = row elif cardnum in range(22,32): row += 1 elif cardnum in range(3

所以我是python新手

我试图运行这段代码,但考虑到我使用了大量的复制和粘贴,我的直觉告诉我有一种更简单的方法来编写这段代码。任何帮助都将不胜感激。谢谢,

row = 1 
#generating row number
#[int(x) for x in str(cardnum)]
if cardnum in range(1,22):
    row = row
elif cardnum in range(22,32):
    row += 1
elif cardnum in range(32,52):
    row += 2
elif cardnum in range(52,72):
    row += 3
elif cardnum in range(72,92):
    row += 4
elif cardnum in range(92,112):
    row += 5
elif cardnum in range(112,132):
    row += 6
elif cardnum in range(132,152):
    row += 7    
elif cardnum in range(152,172):
    row += 8
elif cardnum in range(162,182):
    row += 9
elif cardnum in range(192,212):
    row += 10

你有一个从72到81的间断。如果没有迪斯科统一和同等大小的盒子,你可以简单地使用除法。我对python一窍不通,但想想数学——你怎么能把范围转换成aditions?@DeepankarArya谢谢这是我的一个错误fixed@ZoharPeled我就是这么想的,也许是一个加上20的for循环?
row = 1
if row in range(22, 212):
    row = 2 + (cardnum - 32) / 20