我正在尝试python的新功能,但不起作用,有人能帮我弄清楚为什么函数只打印数据[0]吗?

2024-05-27 11:18:05 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我试着把一个字符串变成一个整数,然后让控制台用正确的逗号打印数字

所以字符串可以是“200万”,但我希望控制台打印2000000作为一个整数,包括逗号分隔符,到目前为止这是我的代码

def main():
    print("Please enter a number using the word 'thousand' or 'million'.")
    number = input("For example, 1 million or 1 thousand: ")
    data = number.split(" ")
    if data[1] == str.lower('thousand'):
        data[1] = 000
        reply = (int(data[0]) + data[1])
        print(f"{reply:,}")

main()

但是当我运行代码并输入“2000”时,控制台只打印数字2,没有零或逗号,我哪里出错了


Tags: or字符串代码numberdatamaindef数字
3条回答
def main():
    print("Please enter a number using the word 'thousand' or 'million'.")
    number = input("For example, 1 million or 1 thousand: ")
    data = number.split(" ")
    if data[1] == str.lower('thousand'):
        data[1] = ',000'
        reply = ((data[0]) + data[1])
        # print(f"{reply:,}")
        print(reply)
main()

现在打印0。 您必须添加000作为字符串

def main():
    print("Please enter a number using the word 'thousand' or 'million'.")
    number = input("For example, 1 million or 1 thousand: ")
    data = number.split(" ")
    if data[1] == str.lower('thousand'):
        data[1] = '000'
        reply = int(str(data[0])+data[1])
        numbers = "{:,}".format(reply)
        # print(f"{reply:,}")
        print(numbers)
main()

如果要使用整数,可以执行以下操作:

        reply = int(data[0]) * 1000 # or 1000000 if "million"

我会使用与Satyam Shankar类似的方法,但可能会使用一个字典来动态地用适当的字符串替换“百万”或“千”:

def main():
    replacement = {"thousand":",000",\
                   "million" :",000,000"
                  }
    print("Please enter a number using the word 'thousand' or 'million'.")
    number = input("For example, 1 million or 1 thousand: ")
    data = number.split(" ")
    if data[1] == str.lower('thousand'):
        data[1] = replacement[data[1]]
        reply = ((data[0]) + data[1])
        # print(f"{reply:,}")
        print(reply)
main()

这种方法具有很强的可扩展性;通过扩展替换字典,您可以添加使用“十亿”、“万亿”等的功能

在进一步扩展时,请考虑如果用户输入,例如“12000”、“170万”或“2054.3万819”,您可能想要什么

相关问题 更多 >

    热门问题