当前位置: 首页 > news >正文

网站排名提升工具高端网络建站

网站排名提升工具,高端网络建站,互联网站备案信息查询,微信怎么导入wordpress第20节课 【字符串编程练习题】 练习01 回文字符串 输入一个字符串&#xff0c;判断其是否是回文字符串。 # 思路1 # s1 "黄山落叶松叶落山黄" # s2 s1[::-1] # 反转 # print(s2) # print(s1 s2)# 思路2 def is_palindrome(s):l 0r len(s) - 1while l < r…

第20节课 【字符串编程练习题】

练习01 回文字符串

输入一个字符串,判断其是否是回文字符串。

# 思路1
# s1 = "黄山落叶松叶落山黄"
# s2 = s1[::-1] # 反转
# print(s2)
# print(s1 == s2)# 思路2
def is_palindrome(s):l = 0r = len(s) - 1while l < r:if s[l] != s[r]:return Falsel += 1r -= 1return True
s1 = "2黄山落叶松叶落山黄1"
#       l          r
print(is_palindrome(s1))

练习02 十进制转二进制

题目描述

输入一个十进制正整数,输出其二进制形式

输入输出描述

输入一个十进制正整数

输出二进制字符串

示例

输入:

9

输出:

1001

def to_binary(num):s = ""while num != 0:y = num % 2s = str(y) + s # 重点print(y)num //= 2return s
num = 123
print(to_binary(num))

练习03 二进制转十进制

题目描述

输入一个二进制字符串,输出其对应的十进制数字

输入输出描述

输入一个二进制字符串

输出十进制数字

示例

输入:

1001

输出:

9

def to_decimal(s):s = s[::-1]#"11101101"num = 0for i in range(len(s)):num += int(s[i]) * 2 ** ireturn num
s = "10110111"
print(to_decimal(s))
print(int(s, 2))

练习04 十进制转十六进制

题目描述

输入一个十进制正整数,输出其十六进制形式

输入输出描述

输入一个十进制正整数

输出十六进制字符串

示例

输入:

1233321

输出:

1e1b9

def to_hex(num):s = ""while num != 0:y = num % 16if y < 10:s = str(y) + selse: # 10 -> A 11 -> Bs = chr(55 + y) + snum //= 16return s.lower()num = 1928916238751286
print(to_hex(num))
print(hex(num)[2:])
# 十六进制转十进制
def to_decimal(s):s = s[::-1]num = 0for i in range(len(s)):if s[i].isdigit():num += int(s[i]) * 16 ** ielse: # a - 10  b - 11num += (ord(s[i]) - 87) * 16 ** ireturn num
s = "6da56cf365636"
print(to_decimal(s))
print(int(s, 16))

练习05 最长公共前缀

题目描述

给定两个字符串 s1 和 s2 ,求两个字符串最长的公共前缀串,字符区分大小写

输入输出描述

输入两行,分别表示s1和s2

输出前缀串

示例

输入:

abcdefg

abcdhko

输出:

abcd

def sovle(s1, s2):p1 = 0p2 = 0while p1 < len(s1) and p2 < len(s2):if s1[p1] != s2[p2]:breakp1 += 1p2 += 1return s1[:p1]s1 = "123456"
s2 = "789123"
suffix = sovle(s1, s2)
print(suffix)

练习06 子串出现的次数

题目描述

给定两个字符串 s1 和 s2 ,求 s2 在 s1 中出现的次数,字符区分大小写,已匹配的字符不计入下一次匹配

输入输出描述

输入两行字符串,分别为s1和s2,s2的长度小于等于s1

输出s2在s1中出现的次数

示例1

输入:

ABCsdABsadABCasdhjabcsaABCasd

ABC

输出:

3

示例2

输入:

AAAAAAAA

AAA

输出:

2

# 贪心的思路
# def sovle(s1, s2): # O(n^2)
#     count = 0
#     for i in range(len(s1) - len(s2) + 1):
#         sub = s1[i:i + len(s2)]
#         if sub == s2:
#             count += 1
#     return count# 非贪心思路 O(n^2)
# def sovle(s1, s2):
#     count = 0
#     i = 0
#     while i < len(s1) - len(s2) + 1:
#         sub = s1[i:i + len(s2)]
#         if sub == s2:
#             count += 1
#             i = i + len(s2)
#         else:
#             i += 1
#     return countdef sovle(s1, s2):count = 0i = 0while i < len(s1) - len(s2) + 1:j = ik = 0while k < len(s2):if s1[j] != s2[k]:i += 1breakj += 1k += 1else:count += 1i = j# i += 1 # 贪心就这么写就对了return counts1 = "AAAAAAAA"
s2 = "AAA"
count = sovle(s1, s2)
print(count)
"""
关于字符串匹配的问题,有专门的算法
KMP
"""

练习07 最长公共子串

题目描述

给定两个字符串 s1 和 s2 ,求 s1 与 s2 之间的最长公共子串,字符区分大小写

输入输出描述

输入两行字符串,分别为s1和s2

输出最长公共子串

示例

输入:

123ABCDEFG83hsad

iughABCDEFG23uy

输出:

ABCDEFG

# 暴力破解 枚举
def solve(s1, s2):# 默认长度 s1 > s2for length in range(len(s2), 0, -1):left = 0right = length - 1while right < len(s2):sub = s2[left:right + 1]print(sub)if s1.find(sub) != -1:return subleft += 1right += 1return ""
s1 = "12345678910"
s2 = "abc"
print(solve(s1, s2))

练习08 猜单词游戏

题目描述

随机产生一个单词,然后提示用户一次猜一个字母,如下示例所示。单词中的每个字母都显示为一个#号,当用户猜测正确时就会显示确切的字母,当用户完成一个单词时,显示失误的次数并询问用户是否继续玩游戏

创建一个数组存储备选单词,然后随机从中抽取进行游戏

示例

Enter a letter in word ####### > p

Enter a letter in word p###### > r

Enter a letter in word pr##r## > p

p is already in the word

Enter a letter in word pr##r## > o

Enter a letter in word pro#r## > g

Enter a letter in word progr## > n

n is not in the word

Enter a letter in word progr## > m

Enter a letter in word progr#m > a

The word is program. You missd 1 time.

Do you want to guess another word? Enter y or n >

import random
# 获取单词的密文字符串
def get_passwd(word, status):passwd = ""for i in range(len(word)):if status[i]:passwd += word[i]else:passwd += "#"return passwd# 改变单词状态数组
def change_status(letter, status, word):for i in range(len(word)):if word[i] == letter:# 是否已经改过if status[i]:# 已经改过了 后面就不用看了return Falseelse:# 没改过 后面也都没改过status[i] = Truereturn True# 针对word这个单词来进行游戏
def start_game(word):# 错误的次数missed = 0# 单词字母的状态列表status = [False] * len(word)# 具体的输入字母进行猜单词while False in status:# 获取当前单词的密文passwd = get_passwd(word, status)# 提示输入一个字母letter = input(f"请输入字母 {passwd}>>>")# 判断字母的存在性if letter in word:# 考虑修改状态数组了 True 改了 False没改if not change_status(letter, status, word):print(f"{letter}已经存在!")else:missed += 1print(f"{letter}不在单词中!")print(f"你猜对了,这个单词就是{word},你猜错了{missed}次")def main():words = ["banana", "python","apple","computer"]while True:# 随机抽取一个单词 [a, b]index  = random.randint(0, len(words) - 1)word = words[index]# 开始猜单词的游戏start_game(word)# 是否继续choice = input("是否继续游戏? y/n >>>")if choice == "n":breakmain()
http://www.dtcms.com/a/515027.html

相关文章:

  • 西安微官网自助建站公司宁波网络推广的公司报价
  • 网站首页的重要性优秀网站首页
  • 网站关键词选取的方法jsp免费建站系统
  • 南昌中小企业网站制作网页广告设计师培训
  • 会议专属网站平台建设报价单怎么做网站策划的模板
  • 网站开发需要哪些人怎么分工西安网站关键词推广
  • 广东衍发建设管理有限公司公司网站企业网站源码简约
  • 网站商城的建设杭州做网站的好公司
  • 非模板网站安溪网页定制
  • 建网站的软件有哪些外贸网站建设熊掌号
  • 响应式网站与自适应域名ip地址在线查询
  • 网站第三方统计工具下载东营企业自助建站
  • 17网站一起做网店图片工具西宁微信网站建设
  • 返利系统网站开发小程序推广50个方法
  • 如何进行外贸网站建设做网站和app需要多久
  • 昌平区做网站企业官网开发排行榜
  • 网站开发作业代做系统维护一般要多长时间
  • 封丘县建站塔山双喜石家庄百度推广优化排名
  • 网站建设云南破解网站后台密码
  • 农业公司怎样建立网站成都广告设计公司电话
  • 定制设计网站公司谭木记网页制作源代码
  • 开发施工建设网站审核app用什么开发软件好
  • 怎样做淘客网站黄页营销网站
  • 学做婴儿衣服网站好保亭住房和城乡建设局网站
  • seo网站排名优化培训教程网站建设找好景科技
  • 网站怎么做等级保护上海网站建设选缘魁-企查
  • 网站实际制作步骤怎样做微商网站
  • 网站建设对于电子商务的意义基层人武部正规化建设
  • 有没有免费建站营销网站建设要注意什么
  • 网站开发工具简介做装修的有那些网站