Python练习——27-35

本文介绍了使用Python递归函数实现字符串反转的方法,并通过多个示例展示了如何处理字符串及进行年龄计算。此外还讲解了如何判断回文数、识别星期名称、列表反向输出等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#使用递归函数将所输入的n个字符,以相反的顺序展示:

def reverse(p_str):
    l=len(p_str)
    if l==0:
        return
    print(p_str[l-1])
    reverse(p_str[:l-1])
pos_str=input("请输入n个字符:")
reverse(pos_str)

输出:

请输入n个字符:p9bujju
u
j
j
u
b
9
p

方法2:

def output(s,l):
    if l==0:
        return
    print(s[l-1])
    output(s,l-1)
s=input("Input a string:")
l=len(s)
output(s,l)

输出:

Input a string:vpiu
u
i
p
v

#使用递归函数计算第5个人的年龄:

def count_age(n):
    if n==1:c=10
    else:c=10+(n-1)*2
    return c 
print(count_age(5))

输出:18

‘’‘Python 练习实例29
题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
程序分析:学会分解出每一位数。’’’

num=input("请输入一个不超过5位数的数字")
num=int(num)
#变量res用于存储逆转之后的数字:
res=0
#变量count用于存储数字位数
count=0

#下面是算法的核心:
while num!=0:
#取余数的方式取出当前的个位数字,把结果中原来已有的部分乘以10,加上刚取出来的个位数字
    res=res*10+num%10
#用除以10并向下取整的方式把已经处理过的数位去掉
    num=int(num/10)
#每处理一次,就给 计数器count加一,用这样的方式计算num是几位数
    count=count+1
print("这是一个%s位数,它的逆序数字是%s"%(count,res))

输出:

请输入一个不超过5位数的数字789
这是一个3位数,它的逆序数字是987

Python 练习实例30
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序分析:无。

a=int(input("请输入一个数字:\n"))
x=str(a)
flag=True

for i in range(len(x)//2):
    if x[i]!=x[-i-1]:
        flag=False
        break
if flag:
    print("%d 是一个回文数!"%a)
else:
    print("%d不是一个回文数!"%a)

输出:

请输入一个数字:
565
565 是一个回文数!

‘’'Python 练习实例31
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。

'''
w={'m':'Monday ', 'tu':'Tuesday ', 'w':'Wednesday ', 
   'th':'Thursday ', 'f':'Firday ', 'sa':'Saturday ', 'su':'Sunday ', 't':'Tuesday/Thursday ', 's':'Saturday' }
a=input('请输入首字母或者2个字母:')
if a in w.keys():
    print(w[a])
else:
    print('没有此星期')    

输出:
请输入首字母或者2个字母:89
没有此星期

Python 练习实例32
题目:按相反的顺序输出列表的值。

a=["one","two","1"]
for i in a[::-1]:
    print(i)

输出:
1
two
one

Python 练习实例33
题目:按逗号分隔列表。
程序分析:无。
l=[1,2,"a"]
s1=",".join(str(n)for n in l)
print(s1)

输出:1,2,a

Python 练习实例34
题目:练习函数调用。
程序分析:使用函数,输出三次 RUNOOB 字符串。

def hello_runoob():
    print ('RUNOOB')
 
def hello_runoobs():
    for i in range(3):
        hello_runoob()
if __name__ == '__main__':
    hello_runoobs()

输出:
RUNOOB
RUNOOB
RUNOOB

Python 练习实例35
Python 100例 Python 100例
题目:文本颜色设置。

class bcolors:
    HEADER="\033[95m"
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'
print(bcolors.WARNING+"警告的颜色字体"+bcolors.ENDC)
#!/usr/bin/python
#-*- coding: UTF-8 -*-
class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[5m'
 
    def disable(self):
        self.HEADER = ''
        self.OKBLUE = ''
        self.OKGREEN = ''
        self.WARNING = ''
        self.FAIL = ''
        self.ENDC = ''
 
print(bcolors.WARNING + "Warning" + bcolors.ENDC)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值