【问题标题】:Why does my python program doesn't change the string value to another string value?为什么我的 python 程序不会将字符串值更改为另一个字符串值?
【发布时间】:2021-11-26 02:07:36
【问题描述】:

该程序旨在将数字从整数更改为单词,反之亦然。当我输入用文字写的数字(三、四等)时,它不会将它们更改为整数,我不明白为什么。

number = input("Numbers: (max five):\n")
number = str(number)

if number.isalnum():
    is_number = True
else:
    is_number = False

characters = len(number)
words = len(number.split())

if is_number:
    one = number.replace("1", "one")
    two = one.replace("2", "two")
    three = two.replace("3", "three")
    four = three.replace("4", "four")
    five = four.replace("4", "five")
    six = five.replace("6", "six")
    seven = six.replace("7", "seven")
    eight = seven.replace("8", "eight")
    nine = eight.replace("9", "nine")
else:
    one = number.replace("one", "1")
    two = one.replace("two", "2")
    three = two.replace("three", "3")
    four = three.replace("four", "4")
    five = four.replace("five", "5")
    six = five.replace("six", "6")
    seven = six.replace("seven", "7")
    eight = seven.replace("eight", "8")
    nine = eight.replace("nine", "9")
    nine = nine.replace(" ", "")

if words > 5 or characters > 5:
    print("Too many numbers given")
else:
    print(nine)

【问题讨论】:

  • 你读过isalnum方法的文档吗?

标签: python string integer


【解决方案1】:

你可以试试这个:

if words > 5 or (is_number and characters > 5):
    print("Too many numbers given")
else:
    print(nine)

另外我认为,如果您不打算为用户提供输出,则应该尽早退出程序,而不是计算它并返回 "Too many numbers given"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-30
    • 2022-08-18
    • 2023-04-05
    • 2012-05-23
    • 1970-01-01
    • 2015-06-15
    相关资源
    最近更新 更多