40个Python入门小程序

2023-10-30

有不少同学学完Python后仍然很难将其灵活运用。我整理 37 个Python入门的小程序。在实践中应用Python会有事半功倍的效果。

例子1:华氏温度转换为摄氏温度

华氏温度转摄氏温度的公式:C = (F - 32) / 1.8。本例考察Python的加减乘除运算符。

"""
将华氏温度转换为摄氏温度
"""

f = float(input('输入华氏温度: '))
c = (f - 32) / 1.8
print('%.1f 华氏度 = %.1f 摄氏度' % (f, c))

例子2:计算圆的周长和面积

输入半径,计算圆的半径和面积,圆周长公式:2*π*r,面试公式:π*r^2

"""
半径计算圆的周长和面积
"""

radius = float(input('输入圆的半径: '))
perimeter = 2 * 3.1416 * radius
area = 3.1416 * radius * radius
print('周长: %.2f' % perimeter)
print('面积: %.2f' % area)

例子3:实现一元一次函数

实现数学里的一元一次函数:f(x) = 2x + 1

"""
一元一次函数
"""

x = int(input('输入x:'))
y = 2 * x + 1
print('f(%d) = %d' % (x, y))

例子4:实现二元二次函数

实现数学里的二元二次函数:f(x, y) = 2x^2 + 3y^2 + 4xy,需要用到指数运算符**

"""
二元二次函数
"""

x = int(input('输入x:'))
y = int(input('输入y:'))

z = 2 * x ** 2 + 3 * y ** 2 + 4 * x * y
print('f(%d, %d) = %d' % (x, y, z))

例子5:分离整数的个位数

将一个正整数的个位数,以及除个位数外的部分分离。需要用到模(取余数)运算符%,和整除运算符//

"""
分离整数个位数
"""

x = int(input('输入整数:'))

single_dig = x % 10
exp_single_dig = x // 10

print('个位数: %d' % single_dig)
print('除个位数外: %d' % exp_single_dig)

例子6:实现一个累加器

实现一个简单的累加器,可以接受用户输入3个数字,并将其累加。需要用到复合赋值运算符:+=

"""
累加器 v1.0
"""

s = 0

x = int(input('输入整数:'))
s += x

x = int(input('输入整数:'))
s += x

x = int(input('输入整数:'))
s += x

print('总和:%d' % s)

例子7:判断闰年

输入年份,判断是否是闰年。闰年判断方法:能被4整除,但不能被100整除;或者能被 400 整除。需要用到算术运算符逻辑运算符

"""
判断闰年
"""

year = int(input('输入年份: '))
is_leap = year % 4 == 0 and year % 100 != 0 or year % 400 == 0
print(is_leap)

例子8:判断奇偶数

输入一个数字,判断基数还是偶数,需要运算和if ... else结构

"""
判断奇偶数
"""

in_x = int(input('输入整数:'))

if in_x % 2 == 0:
    print('偶数')
else:
    print('奇数')

例子9:猜大小

用户输入一个 1-6 之间的整数,与程序随机生成的数字作比较。需要用到if ... elif ... else结构

"""
猜大小
"""

import random

in_x = int(input('输入整数:'))
rand_x = random.randint(1, 6)
print('程序随机数: %d' % rand_x)

if in_x > rand_x:
    print('用户赢')
elif in_x < rand_x:
    print('程序赢')
else:
    print('打平')

说明:random是Python的随机数模块,调用 random.randint 可以生成一个随机数,类型为 int。randint(1, 6) 表示生成 [1, 6] 之间的随机数。

例子10:判断闰年

之前判断闰年是输出TrueFalse,这次需要输出文字版闰年平年

"""
判断闰年
"""

year = int(input('输入年份: '))
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
    print('闰年')
else:
    print('平年')

例子11:摄氏度与华氏度互转

之前做过华氏度转摄氏度,现在通过分支结构实现二者互转。

"""
摄氏度与华氏度互换
"""

trans_type = input('输入转摄氏度还是华氏度:')

if trans_type == '摄氏度':  # 执行华氏度转摄氏度的逻辑
    f = float(input('输入华氏温度:'))
    c = (f - 32) / 1.8
    print('摄氏温度为:%.2f' % c)
elif trans_type == '华氏度':  # 执行摄氏度转华氏度的逻辑
    c = float(input('输入摄氏温度:'))
    f = c * 1.8 + 32
    print('华氏温度为:%.2f' % f)
else:
    print('请输入 华氏度 或 摄氏度')

例子12:是否构成三角形

输入三个边长度,判断是否构成三角形。构成三角形的条件:两边之和大于第三边

"""
是否构成三角形
"""
a = float(input('输入三角形三条边:\n a = '))
b = float(input(' b = '))
c = float(input(' c = '))
if a + b > c and a + c > b and b + c > a:
    print('能够构成三角形')
else:
    print('不能构成三角形')

例子13:输出成绩等级

输入成绩分数,输出分数对应的等级。

>=90分得A,[80, 90) 得B,[70, 80)得C,[60, 70)得D,< 60得E

"""
输出成绩等级
"""

score = float(input('请输入成绩: '))
if score >= 90:
    grade = 'A'
elif score >= 80:
    grade = 'B'
elif score >= 70:
    grade = 'C'
elif score >= 60:
    grade = 'D'
else:
    grade = 'E'
print('成绩等级是:', grade)

例子14:计算提成

某企业的奖金根据销售利润按照如下规则计算提成。输入销售利润,计算奖金。

利润 <= 10万,奖金可提10%

10万 < 利润 <= 20万,高出10万的部分提 7.5%

20万 < 利润 <= 40万,高出20万元的部分提5%

40万 < 利润 <= 60万,高出40万元的部分提3%

利润 > 60万,超过60万的部分提1%

"""
计算提成 v1.0
"""

profit = float(input('输入销售利润(元): '))

if profit <= 100000:
    bonus = profit * 0.1
elif profit <= 200000:
    bonus = 100000 * 0.1 + (profit - 100000) * 0.075
elif profit <= 400000:
    bonus = 100000 * 0.1 + 200000 * 0.075 + (profit - 200000) * 0.05
elif profit <= 600000:
    bonus = 100000 * 0.1 + 200000 * 0.075 + 400000 * 0.05 + (profit - 400000) * 0.03
else:
    bonus = 100000 * 0.1 + 200000 * 0.075 + 400000 * 0.05 + 600000 * 0.03 + (profit - 600000) * 0.01

print('奖金:%.2f' % bonus)

例子15:实现分段函数

数学中经常会见到分段函数,用程序实现如下分段函数

"""
分段函数
"""

x = int(input('输入:'))

if x > 0:
    y = 3 * x ** 2 + 4
else:
    y = 2 * x + 2

print('f(%d) = %d' % (x, y))

例子16:1-n求和

输入正整数n,计算 1 + 2 + ... + n的结果。

"""
1-n求和
"""

n = int(input('输入n:'))

s = 0
while n >= 1:
    s += n
    n -= 1

print('1-%d 求和结果: %d' % (n, s))

例子17:累加器 v2.0

之前实现的累加器只能支持 3 个数相加,现在需要去掉该限制,可以无限相加。

"""
累加器 v1.0
"""

s = 0
while True:
    in_str = input('输入整数(输入q,则退出):')

    if in_str == 'q':
        break

    x = int(in_str)
    s += x
    print('加和:%d' % s)

例子18:猜数游戏

程序随机生成一个正整数,用户来猜,程序根据猜的大小给出相应的提示。最后,输出用户猜了多少次才猜中。

"""
猜数游戏
"""

import random

answer = random.randint(1, 100)
counter = 0
while True:
    counter += 1
    number = int(input('猜一个数字(1-100): '))
    if number < answer:
        print('再大一点')
    elif number > answer:
        print('再小一点')
    else:
        print('猜对了')
        break

print(f'共猜了{counter}次')

例子19:打印乘法口诀表

"""
打印乘法口诀表
"""

for i in range(1, 10):
    for j in range(1, i + 1):
        print(f'{i}*{j}={i * j}', end='\t')

例子20:是否是素数

输入一个正整数,判断是否是素数。素数定义:大于1的自然数中,只能被1和它本身整除的自然数。如:3、5、7

"""
判断是否是素数
"""

num = int(input('请输入一个正整数: '))
end = int(num // 2) + 1  # 只判断前半部分是否能整除即可,前半部分没有能整除的因此,后半部分肯定也没有

is_prime = True
for x in range(2, end):
    if num % x == 0:
        is_prime = False
        break
if is_prime and num != 1:
    print('素数')
else:
    print('不是素数')

range(2, end) 可以生成 2, 3, ... end序列,并依次赋值给 x 执行循环。range还有如下用法

range(10):生成 0, 1, 2, ... 9 序列

range(1, 10, 2):生成 1, 3, 5, ... 9 序列

例子21:斐波那契数列

输入正整数 n,计算第 n 位的斐波那契数。斐波那契数列当前位置的数字等于前两个数字之和,1 1 2 3 5 8 ...

"""
斐波那契数列 v1.0
"""


n = int(input('输入n: '))
a, b = 0, 1
for _ in range(n):
    a, b = b, a + b

print(f'第 {n} 位斐波那契数是:{a}')

例子22:水仙花数

水仙花数是一个3位数,该数字每个位上数字的立方和正好等于它本身,例如:

"""
水仙花数
"""

for num in range(100, 1000):
    low = num % 10
    mid = num // 10 % 10
    high = num // 100
    if num == low ** 3 + mid ** 3 + high ** 3:
        print(num)

例子23:猴子吃桃

猴子第一天摘了 n 个桃子,当天吃了一半,还不瘾,又多吃了一个

第二天早上又将剩下的桃子吃掉一半,又多吃了一个

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,剩下一个桃子。求第一天共摘了多少。

反向思考:第 n-1 天的桃子 = (第n天桃子 + 1) * 2,从 第 10 天循环计算道第一天即可

"""
猴子吃桃
"""

peach = 1
for i in range(9):
    peach = (peach + 1) * 2
print(peach)

例子24:打印菱形

输出如下菱形图案

***

*****

*******

*****

***

"""
输出菱形
"""

for star_num in range(1, 7, 2):
    blank_num = 7 - star_num
    for _ in range(blank_num // 2):
        print(' ', end='')
    for _ in range(star_num):
        print('*', end='')
    for _ in range(blank_num // 2):
        print(' ', end='')
    print()

for _ in range(7):
    print('*', end='')

print()

for star_num in range(5, 0, -2):
    blank_num = 7 - star_num
    for _ in range(blank_num // 2):
        print(' ', end='')
    for _ in range(star_num):
        print('*', end='')
    for _ in range(blank_num // 2):
        print(' ', end='')
    print()

例子25:计算提成 v2.0

将 例子14:计算提成改用列表+循环的方式,代码更简洁,并且可以处理更灵活。

"""
计算提成 v2.0
"""

profit = int(input('输入销售利润(元): '))
bonus = 0
thresholds = [100000, 200000, 400000, 600000]
rates = [0.1, 0.075, 0.05, 0.03, 0.01]

for i in range(len(thresholds)):
    if profit <= thresholds[i]:
        bonus += profit * rates[i]
        break
    else:
        bonus += thresholds[i] * rates[i]

bonus += (profit - thresholds[-1]) * rates[-1]
print('奖金:%.2f' % bonus)

例子26:某天是一年中的第几天

输入某个日期,计算当天是一年中的第几天

"""
计算某天是一年中的第几天
"""

months = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
res = 0
year = int(input('年份: '))
month = int(input('月份: '))
day = int(input('几号: '))

if year % 4 == 0 and year % 100 != 0 or year % 400 == 0: # 闰年二月 29 天
    months[2] += 1

for i in range(month):
    res += months[i]

print(res+day)

例子27:回文字符串

判断一个字符串是否是回文串,回文串是一个正读和反读都一样的字符串,如:level

"""
判断是否是回文串
"""

s = input('输入字符串:')

i = 0
j = -1
s_len = len(s)
flag = True

while i != s_len + j:
    if s[i] != s[j]:
        flag = False
        break
    i += 1
    j += -1

print('是回文串' if flag else '不是回文串')

例子28:个人信息输入输出

不定义类的情况下,可以将个人信息保存在元祖中

students = []
while True:
    input_s = input('输入学生信息(学号 姓名 性别),空格分隔(输入q,则退出):')

    if input_s == 'q':
        break

    input_cols = input_s.split(' ')
    students.append((input_cols[0], input_cols[1], input_cols[2]))

print(students)

例子29:个人信息排序

个人信息保存在元组中,并按照学号、姓名或者性别排序。

"""
个人信息排序
"""

students = []
cols_name = ['学号', '姓名', '性别']
while True:
    input_s = input('输入学生信息(学号 姓名 性别),空格分隔(输入q,则退出):')

    if input_s == 'q':
        break

    input_cols = input_s.split(' ')
    students.append((input_cols[0], input_cols[1], input_cols[2]))

sorted_col = input('输入排序属性:')
sorted_idx = cols_name.index(sorted_col)  # 根据输入的属性获取元组的索引

print(sorted(students, key=lambda x: x[sorted_idx]))

例子30:对输入的内容去重

对输入的内容去重,直接用 Python中 Set集合实现

"""
去重
"""

input_set = set()

while True:
    s = input('输入内容(输入q,则退出):')

    if s == 'q':
        break

    input_set.add(s)

print(input_set)

例子31:输出集合交集

给定Python web工程师算法工程师需要的技能,计算二者交集。

"""
集合交集
"""

python_web_programmer = set()
python_web_programmer.add('python基础')
python_web_programmer.add('web知识')

ai_programmer = set()
ai_programmer.add('python基础')
ai_programmer.add('机器学习')

inter_set = python_web_programmer.intersection(ai_programmer)
print('技能交集:', end='')
print(inter_set)

Python set集合除了能计算交集,还可以计算并集、补集

例子32:猜拳游戏

用程序实现石头剪刀布游戏。

"""
猜拳游戏
"""

# 0代表布,1代表剪刀,2代表石头
import random

rule = {'布': 0, '剪刀': 1, '石头': 2}

rand_res = random.randint(0, 2)
input_s = input('输入石头、剪刀、布:')
input_res = rule[input_s]
win = True

if abs(rand_res - input_res) == 2:  # 相差2说明是布和石头相遇,出布一方胜
    if rand_res == 0:
        win = False
elif rand_res > input_res:  # 相差1的情况谁大谁赢
    win = False

print(f'程序出:{list(rule.keys())[rand_res]},输入:{input_res}')

if rand_res == input_res:
    print('平')
else:
    print('赢' if win else '输')

例子33:字典排序

字典的key是姓名,value是身高,现在需要按照身高对字典重新排序。

"""
字典排序
"""

hs = {'张三': 178, '李四': 185, '王麻子': 175}

print(dict(sorted(hs.items(), key=lambda item: item[1])))

例子34:二元二次函数 v2.0

将二元二次函数封装在函数中,方便调用

"""
二元二次函数 v2.0
"""

def f(x, y):
    return 2 * x ** 2 + 3 * y ** 2 + 4 * x * y


print(f'f(1, 2) = {f(1, 2)}')

例子35:斐波那契数列 v2.0

使用递归函数的形式生成斐波那契数列

"""
递归版斐波那契数列
"""

def fib(n):
    return 1 if n <= 2 else fib(n-1) + fib(n-2)


print(f'第 10 个斐波那契数是:{fib(10)}')

例子36:阶乘

定义一个函数,实现阶乘。n的阶乘定义:n! = 1*2*3* ... n

"""
阶乘函数
"""

def fact(n):
    return 1 if n == 1 else fact(n-1) * n


print(f'10! = {fact(10)}')

例子37:实现 range 函数

编写一个类似于 Python中的 range 功能的函数

"""
range函数
"""

def range_x(start, stop, step):
    res = []
    while start < stop:
        res.append(start)

        start += step
    return res

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

40个Python入门小程序 的相关文章

  • Gunicorn 工作人员无论如何都会超时

    我正在尝试通过gunicorn运行一个简单的烧瓶应用程序 但是无论我做什么 我的工作人员都会超时 无论是否有针对应用程序的活动 工作人员在我设置任何内容后总是会超时timeout值到 是什么导致它们超时 当我发出请求时 请求成功通过 但工作
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • 在 Python 中将列表元素作为单独的项目返回

    Stackoverflow 的朋友们大家好 我有一个计算列表的函数 我想单独返回列表的每个元素 如下所示 接收此返回的函数旨在处理未定义数量的参数 def foo my list 1 2 3 4 return 1 2 3 4 列表中的元素数
  • 使用主题交换运行多个 Celery 任务

    我正在用 Celery 替换一些自制代码 但很难复制当前的行为 我期望的行为如下 创建新用户时 应向tasks与交换user created路由键 该消息应该触发两个 Celery 任务 即send user activate email
  • python multiprocessing 设置生成进程等待

    是否可以生成一些进程并将生成进程设置为等待生成的进程完成 下面是我用过的一个例子 import multiprocessing import time import sys def daemon p multiprocessing curr
  • 在 Django Admin 中调整字段大小

    在管理上添加或编辑条目时 Django 倾向于填充水平空间 但在某些情况下 当编辑 8 个字符宽的日期字段或 6 或 8 个字符的 CharField 时 这确实是一种空间浪费 字符宽 然后编辑框最多可容纳 15 或 20 个字符 我如何告
  • Python 3d 绘图设置固定色阶

    我正在尝试绘制两个 3d 数组 第一个数组的 z 值在范围内 0 15 0 15 第二个来自 0 001 0 001 当我绘图时 色标自动遵循数据范围 如何设置自定义比例 我不想看到 0 001 的浅色 而应该看到 0 15 的浅色 如何修
  • PyQt 使用 ctrl+Enter 触发按钮

    我正在尝试在我的应用程序中触发 确定 按钮 我当前尝试的代码是这样的 self okPushButton setShortcut ctrl Enter 然而 它不起作用 这是有道理的 我尝试查找一些按键序列here http ftp ics
  • 从 Powershell 脚本安装 Python

    当以管理员身份从 PowerShell 命令行运行以下命令时 可以在 Windows 11 上成功安装 Python c temp python 3 11 4 amd64 exe quiet InstallAllUsers 0 Instal
  • 嵌套作用域和 Lambda

    def funct x 4 action lambda n x n return action x funct print x 2 prints 16 我不太明白为什么2会自动分配给n n是返回的匿名函数的参数funct 完全等价的定义fu
  • 尽管我已在 python ctypes 中设置了信号处理程序,但并未调用它

    我尝试过使用 sigaction 和 ctypes 设置信号处理程序 我知道它可以与python中的信号模块一起使用 但我想尝试学习 当我向该进程发送 SIGTERM 时 但它没有调用我设置的处理程序 只打印 终止 为什么它不调用处理程序
  • 如何将 ascii 值列表转换为 python 中的字符串?

    我在 Python 程序中有一个列表 其中包含一系列数字 这些数字本身就是 ASCII 值 如何将其转换为可以在屏幕上回显的 常规 字符串 您可能正在寻找 chr gt gt gt L 104 101 108 108 111 44 32 1
  • Pandas 组合不同索引的数据帧

    我有两个数据框df 1 and df 2具有不同的索引和列 但是 有一些索引和列重叠 我创建了一个数据框df索引和列的并集 因此不存在重复的索引或列 我想填写数据框df通过以下方式 for x in df index for y in df
  • Django REST Framework - CurrentUserDefault 使用

    我正在尝试使用CurrentUserDefault一个序列化器的类 user serializers HiddenField default serializers CurrentUserDefault 文档说 为了使用它 请求 必须作为
  • Spider 必须返回 Request、BaseItem、dict 或 None,已“设置”

    我正在尝试从以下位置下载所有产品的图像 我的蜘蛛看起来像 from shopclues items import ImgData import scrapy class multipleImages scrapy Spider name m
  • python 中的“槽包装器”是什么?

    object dict 和其他地方的隐藏方法设置为这样的
  • 每当使用 import cv2 时 OpenCV 都会出错

    我在终端上使用 pip3 install opencv contrib python 安装了 cv2 并且它工作了 但是每当我尝试导入 cv2 或运行导入了 cv2 的 vscode 文件时 在 python IDLE 上它都会说 Trac
  • 重新分配唯一值 - pandas DataFrame

    我在尝试着assign unique值在pandas df给特定的个人 For the df below Area and Place 会一起弥补unique不同的价值观jobs 这些值将分配给个人 总体目标是使用尽可能少的个人 诀窍在于这
  • 如何将 Django 中的权限添加到模型并使用 shell 进行测试

    我在模型中添加了 Meta 类并同步了数据库 然后在 shell 中创建了一个对象 它返回 false 所以我真的无法理解错误在哪里或者缺少什么是否在其他文件中可能存在某种配置 class Employer User Employer in
  • JSON:TypeError:Decimal('34.3')不是JSON可序列化的[重复]

    这个问题在这里已经有答案了 我正在运行一个 SQL 查询 它返回一个小数列表 当我尝试将其转换为 JSON 时 出现类型错误 查询 res db execute SELECT CAST SUM r SalesVolume 1000 0 AS

随机推荐

  • 【Python算法系列十一】二叉树的3种遍历方式

    二叉树的遍历是指从根结点出发 按照某种次序依次访问二叉树中所有结点 使得每个结点被访问一次且仅被访问一次 遍历二叉树的方法主要分 3 种 先序遍历 中序遍历和后序遍历 先序遍历指最先遍历节点本身 再遍历节点的左子树 最后遍历右子树的遍历方法
  • (一)esp8266透传简单使用

    最近闲的在捣鼓wifi 以太网连接网 不过好像没有那么多时间去研究cc3200 先从封装好的芯片模块开始玩起吧 这几天准备研究下ESP8266 由于手头上是有一个透传的模块 和一个块STM32F4的板子 而且有对应的代码例程 所以先开始研究
  • 华为OD机试 - 服务失效判断(Java)

    题目描述 某系统中有众多服务 每个服务用字符串 只包含字母和数字 长度 lt 10 唯一标识 服务间可能有依赖关系 如A依赖B 则当B故障时导致A也故障 依赖具有传递性 如A依赖B B依赖C 当C故障时导致B故障 也导致A故障 给出所有依赖
  • QT显示图片的四种方法

    QT显示图片的四种方法 原文地址 https blog csdn net flowerspring article details 113307194 1 Qt 设置背景图片的三种方式 setAutoFillBackground http
  • Error invoking remote method ‘docker-start-container‘: Error: (HTTP code 500) server error - Ports a

    文章目录 一 Error invoking remote method docker start container Error HTTP code 500 server error Ports are not available list
  • web到底是什么意思,web站点的创建方法

    web到底是什么意思 先来看看两个名词 一 超文本 hypertext 一种全局性的信息结构 它将文档中的不同部分通过关键字建立链接 使信息得以用交互方式搜索 它是超级文本的简称 二 超媒体 hypermedia 简介 WWW WorldW
  • HTML基础

    超文本标记语言 英语 HyperText Markup Language 简称 HTML 是一种用来结构化 Web 网页及其内容的标记语言 网页内容可以是 一组段落 一个重点信息列表 也可以含有图片和数据表 正如标题所示 本文将对 HTML
  • 多处使用laydate,上方限制下方时间范围

    多处使用laydate 上方限制下方时间范围 前言 需求是上方laydate开始与结束时间是一个范围 选定后 下方添加出的每一行数据中 都会调用laydate 但是范围不能超过上方 默认和上面时间一致 当点击上方切换时间时 下方时间同步更换
  • spark 统计线上日志ip分组统计

    线上日志格式如下 每次访问都会记录ip 标记红色部分 获取某一行看看怎么解析 2017 12 01 09 57 11 970 http nio 8082 exec 2 INFO com fullshare common aop Contro
  • 以太网,IP,TCP,UDP数据包分析

    转自 http www cnblogs com feitian629 archive 2012 11 16 2774065 html 1 ISO开放系统有以下几层 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层
  • 【无标题】DVWA通关攻略(持续更新)

    文章目录 DVWA通关攻略 持续更新 sql注入 级别 LOW sql盲注 级别 LOW DVWA通关攻略 持续更新 sql注入 级别 LOW 1 输入 进行试探 若提示语法错误 则也许有漏洞 2 试探列数 888 or 1 1 order
  • LeetCode:387(Python)—— 字符串中的第一个唯一字符(简单)

    字符串中的第一个唯一字符 概述 给定一个字符串 s 找到 它的第一个不重复的字符 并返回它的索引 如果不存在 则返回 1 输入 s leetcode 输出 0 输入 s loveleetcode 输出 2 输入 s aabb 输出 1 方法
  • 云服务器和虚拟主机区别

    虚拟主机和云服务器是常见的网站托管方式 都可以让网站在互联网上运行 但是它们有很大的区别 本文将从使用场景 性能 安全性 灵活性 价格等方面详细介绍虚拟主机和云服务器的区别 一 使用场景 虚拟主机是一个物理服务器通过虚拟化技术划分成多个虚拟
  • 数据结构 C 代码14:图的遍历

    一 图的遍历 从图中某一顶点出发 并系统地访问完图中的所有顶点 且都恰好访问一次的运算操作就被称作 图的遍历 图的遍历理解起来并不是很难 可以分开理解 遍 意为全部 历 意为经历 经过 合起来就是 全部顶点都经过一遍 图的遍历方式分为两种
  • Redis高频面试笔记:java版本号比较算法

    1 三重心智模型 先给大家科普一个概念 三重心智模型 认知科学家斯坦诺维奇 将人的心智模式 分成了三个部分 第一层是自主心智 自主心智是我们通过进化与内隐学习获得 比如 我们看到蛇就会害怕 情绪反应 以及文气 车感 网感这些说不清道不明的内
  • linux7怎么查看rsync状态,linux – Rsync显示单个文件的进度

    这可能就是你所追求的 rsync avvz times stats checksum human readable acls itemize changes progress out format t i Last Modified M b
  • 图解通信原理与案例分析-6:基于离散字符的RS232串口数字通信--收发双方独立预设置同步时钟

    前言 RS 232标准接口是计算机常用的串行通信接口标准之一 虽然比较简单与成熟 但对于理解通信原理的基本流程和框架 核心的概念有基础性帮助作用 本文将从通信原理的角度 解析RS232串口通信过程中的每个环节 包括硬件和软件 在信源和信宿之
  • [Unity] Unity的lua项目中模拟每帧运行一次的协程

    游戏中 我们经常需要把一些大量计算或一些需要持续逐帧运算的步骤交给协程处理 习惯了Monobehaviour中使用协程来完成这类操作的我们 然而 很多Unity项目在选择热更新方案的时候 基本都会选择使用slua ulua等lua解决方案
  • 怎么理解面向对象编程

    怎么理解面向对象编程 百度百科的说法 维基百科的说法 我的理解 面向对象编程的特性 封装 继承 多态 五大基本原则 SPR OCP LSP DIP ISP 单一职责原则SRP Single Responsibility Principle
  • 40个Python入门小程序

    有不少同学学完Python后仍然很难将其灵活运用 我整理 37 个Python入门的小程序 在实践中应用Python会有事半功倍的效果 例子1 华氏温度转换为摄氏温度 华氏温度转摄氏温度的公式 C F 32 1 8 本例考察Python的加