問題:給一個不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。
方法1:利用字符串切片的方式將字符串反轉(zhuǎn),再將其轉(zhuǎn)換為整數(shù)。
#!/usr/bin/python
#coding:utf-8
#author:菜就多練呀
# 獲取用戶輸入的整數(shù)
num = int(input("請輸入一個不多于5位的正整數(shù):"))
# 判斷位數(shù)
if num < 10:
print("位數(shù):", len(str(num)))
else:
print("位數(shù):", len(str(num)))
# 逆序打印各位數(shù)字
reversed_num = int(str(num)[::-1])
print("逆序后的數(shù)字:", reversed_num)
方法2:通過循環(huán)遍歷數(shù)字的每一位,從后往前逆序打印出來。
#!/usr/bin/python
#coding:utf-8
#author:菜就多練呀
# 獲取用戶輸入的整數(shù)
num = input("請輸入一個不多于5位的正整數(shù):")
length = len(num)
print("它是一個", length, "位數(shù)")
print("逆序打印出各位數(shù)字:", end="")
for i in range(length):
print(num[length-1-i], end="")
方法3:使用整數(shù)除法和模運算將數(shù)字的每一位逆序打印出來。
#!/usr/bin/python
#coding:utf-8
#author:菜就多練呀
# 獲取用戶輸入的整數(shù)
num = int(input("請輸入一個不多于5位的正整數(shù):"))
# 計算位數(shù)
length = 0
temp = num
while temp:
length += 1
temp //= 10
print("它是一個", length, "位數(shù)")
# 逆序打印數(shù)字
print("逆序打印出各位數(shù)字:", end="")
while num:
digit = num % 10
print(digit, end="")
num //= 10
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2705686032@qq.com 舉報,一經(jīng)查實,本站將立刻刪除。原文轉(zhuǎn)載: 原文出處: