# -*- coding:cp936 -*- '''------------------------------------------------------ 【程序设计】 --------------------------------------------------------- 题目:请编写函数fun,该函数的功能是:判断字符串是否是回文。 要求:使用列表表达式完成 例如:abcdcba是回文。abcdefg不是回文。 --------------------------------------------------------- 注意:部分源程序给出如下。请勿改动主函数main和其它函数中的 任何内容,仅在函数的注释标志之间填入所编写的若干语句。 ------------------------------------------------------''' def fun(s): #**********Program********** return s == ''.join([s[i] for i in range(len(s)-1,-1,-1)]) #********** End ********** def main(): print("【请连续四次次判断输入字符串是否是回文:】") for n in range(4): print("【第%d次:】" %(n+1)) s=input("【请输入一个5位字符:】") while True: if len(s)!=5: s=input("【输入错误,请重新输入:】") else: if fun(s): print("%s是【回文数】" % s) else: print("%s不是【回文数】" % s) break if __name__ == '__main__': main()
时间: 2023-08-01 11:07:05 浏览: 102
任意发送天线_任意接收天线的STBC-MIMO-OFDM的MATLAB程序
3星 · 编辑精心推荐
这是一道Python的编程题目,要求编写一个判断字符串是否是回文的函数。函数名为fun,使用列表表达式完成。主函数main中调用fun函数,对输入的5位字符串进行四次判断是否是回文,输出结果。
以下是代码实现:
```python
def fun(s):
# 使用列表表达式,将字符串s反转后与原字符串比较是否相等
return s == ''.join([s[i] for i in range(len(s)-1,-1,-1)])
def main():
print("【请连续四次次判断输入字符串是否是回文:】")
for n in range(4):
print("【第%d次:】" %(n+1))
s=input("【请输入一个5位字符:】")
while True:
if len(s)!=5:
s=input("【输入错误,请重新输入:】")
else:
if fun(s):
print("%s是【回文数】" % s)
else:
print("%s不是【回文数】" % s)
break
if __name__ == '__main__':
main()
```
其中,fun函数中的列表表达式 `[s[i] for i in range(len(s)-1,-1,-1)]` 用来将字符串s反转,`join()` 方法用于将反转后的列表转换为字符串进行比较。主函数中的循环用于对输入的字符串进行四次判断,如果不是5位字符则要求重新输入,否则调用fun函数进行判断并输出结果。
阅读全文