首页 > 编程语言 > 详细

Python【每日一问】29

时间:2019-05-23 15:21:18      阅读:146      评论:0      收藏:0      [点我收藏+]

问:

【基础题】:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序印出各位数字
【提高题】:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5, 然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

答:

基础题:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序印出各位数字

方法1:

num = input("请输入不大于五位数的数字:")
print("长度为:%d" % len(num))
print("反转后数字为:%s" % num[::-1])

 

方法2:

def f(n):
    str_n = str(n)
    length = len(str_n)
    reversed_n = int(str_n[::-1])
    return length, reversed_n
?
?
if __name__ == "__main__":
    c = input("请输入不多于5位的数字:")
    a, b = f(c)
    print("它是%s位数,逆序为%s" % (a, b))

 

方法3:

x = input("请输入不多于5位的数字:")
print(len(x))
?
for i in range(0, len(x)).__reversed__():
    print(x[i], end=" ")

 

方法4:

num = input("请输入不大于五位数的数字:")
length = len(num)
print("{}是{}位数".format(num, length))
print("{}逆序后的数字为:{}".format(num, num[::-1]))

 

方法5:

msg = input(请输入一个不多于5位的正整数>>>)
num = int(msg)
n = len(msg)
print("该数字是 {} 位数".format(n))
for i in range(n):
    single_num = num % 10
    print(single_num)
num = num // 10

 

方法6:

num = input("Please input a num:")
print("长度是:{0}".format(len(num)))
print("倒序数字是:{0}".format(num[::-1]))

 

方法7:

num = input("输入一个不大于5位的正整数:")
print("{}是一个{}位数,倒数打印{}".format(num,len(num),num[::-1]))

 

方法8:

number = input("Enter a number: ")
print(fNumber has got {len(number)} digits)
print(fReversed Number is {number[::-1]})

 

提高题:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上 5, 然后用和除以 10 的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。

方法1:

telephone_num = input("加密前的数据:")
telephone_num_new = []
for number in telephone_num:
    int_num = int(number)
    int_num = (int_num + 5) % 10
    telephone_num_new.append(int_num)
?
telephone_num_new[0], telephone_num_new[3] = telephone_num_new[3], telephone_num_new[0]
telephone_num_new[1], telephone_num_new[2] = telephone_num_new[2], telephone_num_new[1]
?
number_str = ""
?
for number_new in telephone_num_new:
    number_str = number_str + str(number_new)
?
print("加密后的数据:", number_str)

 

方法2:

number = input(Enter data to be encryted: )
basic_element = list(range(10))
dictionary = dict(zip(basic_element, basic_element[5:] + basic_element[:5]))
?
encrypted_number = [str(dictionary[int(digit)]) for digit in number]
?
encrypted_number[0],encrypted_number[3], encrypted_number[1],encrypted_number[2] = encrypted_number[3],encrypted_number[0], encrypted_number[2],encrypted_number[1]
?
encrypted_number = ‘‘.join(encrypted_number)
print(fEncrypted number: {encrypted_number})

 

方法3:

while True:
    tele_num = input("输入电话号码:")
    if len(tele_num) == 4:  # 判断输入字符串位数
        try:
            if int(tele_num) >= 0:  # 判断是否为4位整数
                break
        except:
            pass
out_tele_num = []
for num in tele_num:
    num = (int(num) + 5) % 10
    out_tele_num.append(num)
for i in out_tele_num:
    print(i, end=‘‘)
print(‘‘)
print("{}".format(‘‘.join(map(str, out_tele_num[::-1]))))

 

Python【每日一问】29

原文:https://www.cnblogs.com/ElegantSmile/p/10896616.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!