【问题标题】:Read first number of user input读取用户输入的第一个数字
【发布时间】:2015-10-17 08:37:15
【问题描述】:

我需要一点帮助。我不明白我做错了什么。我需要检查用户输入的第一个数量的代码。例如,我输入数字34566,它会查看第一个数字并打印“他”或“她”。

也许有人可以给我一些解决方法的建议。

print("Sisesta isikukood")
isikukood[0] = int(input())

if (isikukood[0] == 1 or isikukood[0]== 3 or isikukood[0]== 5):
    print("He")
else:
    if isikukood[0] == 2 or isikukood[0]== 4 or isikukood[0] == 6:
        print("She")
    else:
        print("Vale isikukood")

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    不要转换字符串(input() 返回的值),而是将其保留为字符串。您可以使用索引运算符来获取第一个字符:

    print("Sisesta isikukood")
    num = input()  # no `int(..)`
    
    if num[:1] in ('1', '3', '5'):
        print("He")
    elif num[:1] in ('2', '4', '6'):
        print("She")
    else:
        print("Vale isikukood")
    

    注意:字符应与字符进行比较。 ('1', '3', '5', ... 而不是1, 3, 5)

    【讨论】:

    • 是的,但是当我输入超过 1 个数字时,它现在说的是最后一个 els。
    • @Martin,超过 1 个号码?什么意思?
    • 例如,当我输入 2456 时,它会显示最后一个 els,因为现在它只读取 1 个租船人
    • @Martin,对不起。我忘记了在num 之后切片([:1])。我刚刚更新了答案中的代码。看看吧。
    • @Martin,如果使用不输入任何内容input() 将返回空字符串。空字符串的索引将引发IndexError。 [:1] 将返回一个空字符串而不是引发异常。
    【解决方案2】:

    以字符串形式获取输入。然后像 isikukood[:1] 一样获取该输入的第一个数字。由于第一个数字现在是一个字符串(不是整数),您应该将它与一个字符串进行比较。

    print("Sisesta isikukood")
    isikukood = str(input())
    
    if (isikukood[:1] == '1' or isikukood[:1] == '3' or isikukood[:1] == '5'):
        print("He")
    elif isikukood[:1] == '2' or isikukood[:1]== '4' or isikukood[:1] == '6':
        print("She")
    else:
        print("Vale isikukood")
    

    教育:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-16
      • 2019-09-08
      • 1970-01-01
      • 1970-01-01
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多