如何比较字符串大小(超详细)

9 篇文章 1 订阅
1 篇文章 0 订阅

前言

在工作中,我们常遇到比较两个值的大小的需求,如果比较的值是“数字”大小,那不用说,三岁小孩也会吧。但是如果比较的是字符串的大小,那肯定还是有些不一样的。今天我就来整理整理,希望看完后对你有所帮助 ↓
在这里插入图片描述

描述

字符串大小的比较,不是以字符串的长度直接决定,而是从最左边第一个字符开始比较,大者为大,小者为小,若相等,则继续按字符串顺序比较后面的字符,主要涉及场景如下:

比较字符串常见场景及描述

  1. 做比较的两个字符串长度不一致,不是长的字符串就一定”大”。如:例如,字符串c=“EFG”与字符串,d=“EAFG"第二个字符分是‘F’和’A’,所以C>D。
  2. 大写字母和小写字母的ASCII代码值是有区别的,所以”good”>”GOOD”。
  3. 当字符串全部用英文字母的大写(或小写)组成时,字符串的大小顺序和它们在字典中的顺序相同。
  4. 由汉字组成的字符串可以参加比较。如”张三”<”安琪”。它们的大小实际是由其拼音构成的字符串的大小来决定的。上例即:”ZHANGSAN”<”ANQI”。
  5. 当字符串有空格时,空格也参加比较。如“abcd”>“a bcd

分享完毕,欢迎各位大佬在评论区指点补充哦
在这里插入图片描述

  • 106
    点赞
  • 320
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
级玛丽是一个复杂的游戏,如果要完整地实现这个游戏,需要大量的时间和精力。不过,我们还是可以写一个简单版的级玛丽游戏,让你体验一下游戏开发的过程和乐趣。 首先,我们需要安装 Pygame 库,这是一个 Python 的游戏开发库,提供了丰富的游戏开发工具和接口。你可以使用以下命令安装 Pygame: ``` pip install pygame ``` 接下来,我们定义一些游戏常量: ```python import pygame # 游戏窗口的大小 SCREEN_WIDTH = 800 SCREEN_HEIGHT = 600 # 玛丽的大小 MARIO_WIDTH = 64 MARIO_HEIGHT = 64 # 玛丽的速度 MARIO_SPEED = 5 # 地图砖块的大小 BLOCK_WIDTH = 32 BLOCK_HEIGHT = 32 # 地图的大小 MAP_WIDTH = 1280 MAP_HEIGHT = 480 # 地图数据 MAP_DATA = [ "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "B B", "BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB", ] ``` 在这个游戏中,我们定义了游戏窗口的大小、玛丽的大小和速度、地图砖块的大小、地图的大小和地图数据。其中,地图数据是一个字符串列表,每个字符串表示地图上的一行,其中 B 表示地图砖块,空格表示空白处。 接下来,我们定义一个 Game 类,用于管理游戏的初始化、更新和绘制: ```python class Game: def __init__(self): self.screen = pygame.display.set_mode((SCREEN_WIDTH, SCREEN_HEIGHT)) pygame.display.set_caption("Super Mario") self.clock = pygame.time.Clock() self.mario = Mario(0, MAP_HEIGHT - MARIO_HEIGHT) self.blocks = self.create_blocks() def create_blocks(self): blocks = [] for i in range(len(MAP_DATA)): for j in range(len(MAP_DATA[i])): if MAP_DATA[i][j] == "B": block = Block(j * BLOCK_WIDTH, i * BLOCK_HEIGHT) blocks.append(block) return blocks def update(self): self.mario.update(self.blocks) def draw(self): self.screen.fill((0, 0, 0)) for block in self.blocks: block.draw(self.screen) self.mario.draw(self.screen) pygame.display.flip() def run(self): while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() exit() self.update() self.draw() self.clock.tick(60) ``` 在 Game 类中,我们首先初始化 Pygame 窗口、游戏时钟、玛丽和地图砖块。其中,create_blocks() 函数用于根据地图数据创建地图砖块。 我们还定义了 update() 和 draw() 函数,用于更新和绘制游戏场景。在 update() 函数中,我们调用了玛丽的 update() 函数,用于更新玛丽的位置和状态。在 draw() 函数中,我们首先清空屏幕,然后绘制地图砖块和玛丽,最后调用 Pygame 的 display.flip() 函数更新屏幕。 最后,我们定义 Mario 类和 Block 类,用于表示玛丽和地图砖块: ```python class Mario: def __init__(self, x, y): self.image = pygame.image.load("mario.png").convert_alpha() self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y self.vx = 0 self.vy = 0 def update(self, blocks): self.rect.x += self.vx self.rect.y += self.vy self.vx = 0 self.vy += 1 for block in blocks: if self.rect.colliderect(block.rect): if self.vy > 0: self.rect.bottom = block.rect.top self.vy = 0 def draw(self, screen): screen.blit(self.image, self.rect) def jump(self): self.vy = -10 def move_left(self): self.vx = -MARIO_SPEED def move_right(self): self.vx = MARIO_SPEED class Block: def __init__(self, x, y): self.image = pygame.Surface((BLOCK_WIDTH, BLOCK_HEIGHT)) self.image.fill((255, 255, 255)) self.rect = self.image.get_rect() self.rect.x = x self.rect.y = y def draw(self, screen): screen.blit(self.image, self.rect) ``` 在 Mario 类中,我们加载了玛丽的图片,并定义了玛丽的位置、速度和更新、绘制函数。在 update() 函数中,我们首先根据玛丽的速度更新玛丽的位置,然后检测玛丽是否与地图砖块相撞,如果是,则将玛丽的位置调整到地图砖块的顶部,并将玛丽的垂直速度设置为0。 在 Block 类中,我们定义了地图砖块的颜色、位置和绘制函数。 最后,我们在游戏运行的主函数中创建 Game 对象,并调用 run() 函数开始游戏循环: ```python if __name__ == "__main__": pygame.init() game = Game() game.run() pygame.quit() ``` 现在,你可以保存以上代码到一个 Python 文件中,然后在命令行中运行该文件,即可开始玩简单版的级玛丽游戏了!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值