有没有一种快速 python 的方法来获得范围响应,如果我输入 1,它会给出“1-10”等等

Is there a quick python way to get a range response, if i type 1 it gives "1-10" and so on

我正在处理脚本的问题陈述,我需要将 int 更改为范围为 1-10 、 11-20 等的字符串。在 python 中使用简单的 if else 不是错误数字的好选择。有人知道 python 中的任何功能可以帮助解决这个问题吗?

例如:

我正在从 pandas 数据框中读取数字,每个单元格都有不同的数字: 所以如果我把数字放在函数中 -

convertnumtorange(1) 它应该给出“1-10”
convertnumtorange(27) 它应该给出“21-30”

试试这个:

def convertnumtorange(n):
    b = (n - 1) // 10 * 10 + 10
    a = b - 9
    return f'{a}-{b}'

示例:

>>> convertnumtorange(1)
'1-10'
>>> convertnumtorange(27)
'21-30'

假设您有一个包含数字的数据框:

>>> import pandas as pd
>>> df = pd.DataFrame({'n': [1, 27]})
>>> df
    n
0   1
1  27
>>> df['range'] = df['n'].apply(convertnumtorange)
>>> df
    n  range
0   1   1-10
1  27  21-30