【机器人】用Python做一个 “人工智能(障)”机器人 ——不过真的是人工智能吗

慈云数据 2024-06-15 技术支持 26 0

今天博主为你们带来了我私人珍藏的人工智能机器人,话不多说,上代码!

人工智能机器人核心算法

==============================================================================

#人工智能机器人

print(‘你好呀!’) # 打个招呼

while True:

a=str(input(‘’)) # 变量命名有些随便

人工智能核心算法!!!

b=a.replace(‘吗’,‘呢’)

b=b.replace(‘?’,‘!’)

b=b.replace(‘你’,‘我’)

输出了

if b==‘’: # 退出聊天

print(‘拜拜!’)

break

elif b==a: # 问题无法作出有效回答

print(‘我没听懂你在说什么,换个问题试试?’)

c+=1

else: # 回答有效,输出回答

print(b)

来看一看效果哈:

在这里插入图片描述

怎么样?是不是很强大?

独家珍藏的人工智能对话机器人,让你的七夕不再空虚和孤单!

……

……

在这里插入图片描述

……

咳咳,回归正题,其实本文的重点不在人工智障……智能,而是字符串的方法。

可以看到,我们人工智能的核心算法是用了字符串的replace方法。那么,字符串还有哪些更多的方法呢?一起来看看

字符串的方法

=========================================================================

  • str.count(sub[, start[, end]])

    返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数,可选参数 start 与 end 会被解读为切片表示法

    s = ‘aaabbbccc’

    print(s.count(‘a’))

    3

    print(s.count(‘a’, 3, 0))

    0

    • str.find(sub[, start[, end]])

      返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。 可选参数 start 与 end 会被解读为切片表示法。 如果 sub 未被找到则返回 -1

      s = ‘abcabc’

      s.find(‘b’)

      1

      • str.rfind(sub[, start[, end]])

        返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。从字符串末尾开始:

        s = ‘abcabc’

        s.rfind(‘b’)

        4

        • str.index(sub[, start[, end]])

          类似于 find(),但在找不到子类时会引发 ValueError

          s = ‘abcdefabc’

          s.index(‘b’)

          1

          s.index(‘g’)

          Traceback (most recent call last):

          File “”, line 1, in

          s.index(‘c’)

          ValueError: substring not found

          • str.rindex(sub[, start[, end]])

            类似于 rfind(),但在找不到子类时会引发 ValueError。从字符串末尾开始。

            s = ‘abcdefabc’

            s.rindex(‘b’)

            7

            • str.isalnum()

              如果字符串中的所有字符都是字母或数字且至少有一个字符,则返回 True , 否则返回 False

              s = ‘zbc123’

              s.isalnum()

              True

              s = ‘点个赞支持一下作者吧!’

              s.isalnum()

              False

              • str.isalpha()

                如果字符串中的所有字符都是字母,并且至少有一个字符,返回 True ,否则返回 False

                s = ‘aaabbb’

                s.isalpha()

                True

                s = ‘123,?’

                s.isalpha()

                False

                • str.isdigit()

                  如果字符串中的所有字符都是整数,并且至少有一个字符,返回 True ,否则返回 False

                  s = ‘123456’

                  s.isdigit()

                  True

                  s = ‘123.456’

                  s.isdigit()

                  False

                  • str.isnumeric()

                    如果字符串中至少有一个字符且所有字符均为数值字符(包括中文),则返回 True ,否则返回 False

                    s = ‘1234一二三四壹贰叁肆’

                    s.isnumeric()

                    True

                    s = ‘12.34’

                    s.isnumeric()

                    False

                    • str.isspace()

                      如果字符串中只有空白字符且至少有一个字符则返回 True ,否则返回 False

                      s.isspace()

                      True

                      s = ‘\n \t’

                      s.isspace()

                      True

                      • str.istitle()

                        如果字符串中至少有一个字符且为标题字符串则返回 True ,例如大写字符之后只能带非大写字符而小写字符必须有大写字符打头。 否则返回 False

                        s = “I am a handsome boy”

                        s.istitle()

                        False

                        s = “I Am A Handsome Boy”

                        s.istitle()

                        True

                        • str.isupper()

                          如果字符串中至少有一个区分大小写的字符,且此类字符均为大写则返回 True ,否则返回 False

                          s = ‘abcA’

                          s.isupper()

                          False

                          s = ‘ABCA’

                          s.isupper()

                          True

                          • str.islower()

                            如果字符串中至少有一个区分大小写的字符,且此类字符均为小写则返回 True ,否则返回 False

                            s = ‘aaabbb’

                            s.islower()

                            True

                            s = ‘aAabBb’

                            s.islower()

                            False

                            • str.replace(old, new[, count])

                              返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。 如果给出了可选参数 count,则只替换前 count 次出现

                              s = ‘abcdefghiabcjklabc’

                              自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

                              深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

                              因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

                              img

                              img

                              img

                              img

                              img

                              img

                              既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

                              由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

                              如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

                              cf63939786134ca.png)

                              img

                              img

                              img

                              既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

                              由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

                              如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

                              img
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon