• 判断回文字符串(c,python)


    回文字符串:一个字符串,不论是从左往右,还是从右往左,字符的顺序都是一样的(如abba,abcba等)

    判断回文字符串比较简单,即用两个变量left,right模仿指针(一个指向第一个字符,一个指向最后一个字符),

    每比对成功一次,left向右移动一位,right向左移动一位,如果left与right所指的元素不相等则退出,最后比较

    left与right的大小,如果left>right则说明是回文字符串。

    C语言版:

    #include<stdio.h>
    #include<string.h>
    bool huiwen(char *c)//判断是否为回文字符串 
    {
        int len=strlen(c);
        int left=0,right=len-1;
        while(left<=right)
        {
            if(c[left]==c[right])
            {
                left++;
                right--;
            }
            else
                break;
        }
        if(left>right)
            return true;
        else
            return false;
    }
    int main()
    {
        char c[100];
        printf("请输入您要判断的字符串:")
        scanf("%s",c);
        if(huiwen(c))
            printf("Yes
    ");
        else
            printf("No
    ");
        return 0; 
     } 

     python版:

    #尝试用python判断回文字符串
    while True:
        str=input("please input a string:")#输入一个字符串
        length=len(str)#求字符串长度
        left=0#定义左右‘指针’
        right=length-1
        while left<=right:#判断
            if str[left]==str[right]:
                left+=1
                right-=1
            else:
                break;
        if left>right:
            print("yes")
        else :
            print("no")

    使用函数判断:

    将字符串反序输出保存与原字符串比较

    我们使用切片功能翻转文本。我们已经了解了我们可以通过使用 seq[a:b] 来从位置 a
    始到位置 b 结束来对序列进行切片 。我们同样可以提供第三个参数来确定切片的步长
    Step) 。默认的步长为 1 ,它会返回一份连续的文本。如果给定一个负数步长,如 -1
    将返回翻转过的文本。

    def reverse(text):
        return text[::1]
    
    def is_palindrome(text):
        return text==reverse(text)
    
    something = input("Enter text:")
    if is_palindrome(something):
        print("Yes,it is a palindrome")
    else:
        print("No,it is not a palindrome")
  • 相关阅读:
    安卓系统浏览器中select下拉按钮无法弹出选择面板奇怪问题解决
    Webkit浏览器点击控件时出现的边框消除
    UML序列图总结
    UML序列图总结
    UML类图几种关系的总结
    UML类图几种关系的总结
    UML用例图总结
    UML用例图总结
    类与类之间的关系
    java核心技术----Object类
  • 原文地址:https://www.cnblogs.com/nyist0/p/9109252.html
Copyright © 2020-2023  润新知