编写一个python程序,通过使用循环来求一个数字的第一位和最后一位的和

pprl5pva  于 2022-12-17  发布在  Python
关注(0)|答案(2)|浏览(174)

你好,我是新的编码,只是学习一些编码的基础知识,任何人都可以帮助我解决这个问题:-我已经写了一个代码,找到第一和最后一个任期使用循环,但不能添加他们的代码如下

n = input("enter your number:-")

#By loop 

if (n.isnumeric):
    for i in range(len(n)):
        if i == 0:
            print(f" your first digit of the number is {n[0]}")
        elif i== len(n)-1:
            print(f" your last digit of the number is {n[-1]}")
else:
    print("Please enter a number and try again!")

请有人可以修改这个代码,以找到第一位和最后一位数字的总和?谢谢:)

5fjcxozz

5fjcxozz1#

事实上,你已经非常接近你所寻求的答案了,只是有一些错误需要更正。看看修订版,并检查?

-这是为了遵循OP的思路,并进行最小限度的更改。

当然,有很多替代方法可以实现这一点(对无效输入进行更多的错误检查,但这是另一个 * 故事/练习)。

n = input("enter your number:-")    # ex. 123 

#By loop 

if (n.isnumeric()):                # calling the method:  isnumeric()
    for i in range(len(n)):
        if i == 0:
            first = n[0]          # assign it to first digit
            print(f" your first digit of the number is {n[0]}")
        elif i == len(n)-1:
            last = n[len(n) -1]   # assign it to last digit
            print(f" your last digit of the number is {n[-1]}") # convert to integer

print(f' the sum of first and last digits: {int(first)+int(last)} ')
# 4      <- given input 123
nuypyhwy

nuypyhwy2#

您已经知道如何获取序列中的最后一项-即n[-1]
因此,使用循环是无关紧要的。
然而,您需要做的是检查两件事。
1.输入是否至少有2个字符长?
1.输入是否完全由十进制字符组成
其中:

inval = input('Enter a number with at least 2 digits: ')

if len(inval) > 1 and inval.isdecimal():
    first = inval[0]
    last = inval[-1]
    print(f'Sum of first and last digits is {int(first)+int(last)}')
else:
    print('Input either too short or non-numeric')

另一个有趣的方法是使用 map() 和一些解包来处理输入:

inval = input('Enter a number with at least 2 digits: ')

if len(inval) > 1 and inval.isdecimal():
    first, *_, last = map(int, inval)
    print(f'Sum of first and last digits is {first+last}')
else:
    print('Input either too short or non-numeric')

相关问题