Python100道练习题

Python100道练习题

BIlibili

1、两数之和

num1 = 20
num2 = 22result = num1 + num2print(result)

2、一百以内的偶数

list1 = []for i in range(1,100):if i % 2 == 0:list1.append(i)
print(list1)

3、一百以内的奇数

# 方法一
list1 = []
for i in range(1,100):if i % 2 != 0:list1.append(i)
print(list1)# 方法二
list2 = [i for i in range(1,100) if i % 2 != 0]
print(list2)# 方法三
list3 = [i for i in range(1,100,2)]

4、判断素数

编写程序,判断某一个数是否为素数。所谓素数指的是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数:

a = 37
flag = True
for i in range(2,a):  # 注意range 是左闭右开if a % i == 0:flag = Falsebreak  # 一旦判断成功后,后面就没必要继续了
if flag:print('a不是素数')
else:print('a是素数')

5、求阶乘

编写程序,求出某个自然数的阶乘。一个正整数的阶乘是所有小于及等于该数的正整数的积,并且0的阶乘为1。自然数n的阶乘写作n!

a = 5# 方法一
if a == 0 or a == 1:print('阶乘为: 1')
else:sum = 1for i in range(2,a+1): # 包括本身sum *= iprint('阶乘为:',sum)# 方法二 递归
def fun(x):if x == 1:return 1else:return x * fun(x - 1)print(fun(a))
# 方法三 math.factorial()
import math
print(math.factorial(a))

6、求圆的周长

程序编写:输入半径,求出圆的周长

圆的周长:2πr

import mathr = float(input('请输入圆的半径:'))
girth = 2 * r * math.pi
print('周长是',round(girth,2))  # round 保留两位小数

7、求圆的面积

程序编写:输入半径,求出圆的面积

圆的周长:πrr

import mathr = float(input('请输入圆的半径:'))
girth = r * r * math.pi
print('面积是',round(girth,2))  # round 保留两位小数

8、求直角三角形斜边的边长

编写程序:输入两个直角边,求出三角形斜边的长度

勾股定理:a2 + b2 = c2

import matha = 3
b = 4
cfang = math.pow(a,2) + math.pow(b,2)
# 或者 math.pow(cfang,0.5) or cfang ** 0.5
print('三角形斜边的长度: ',math.sqrt(cfang))

9、比较三个数大小

编写程序:输入三个数,从小到大输出三个数

a = int(input('请输入第一个数:'))
b = int(input('请输入第二个数:'))
c = int(input('请输入第三个数:'))lst = [a,b,c]
# 方法一:list.sort() ,sort(reverse=False) 默认False 升序
lst.sort()
print(lst)# 方法二:sorted(lst)
list1 = sorted([a,b,c])
print(list1)

10、找出区间内的素数

编写程序,输入整数a、b表示一个闭区间,找出该区间内的所有素数并打印。

# 判断素数函数
def prime(x):flag = Truefor i in range(2, x):if x % i == 0:flag = Falsebreak return flag# 闭区间
a = 10  # 左端点
b = 20  # 右端点
num_list = []
for i in range(a,b+1):if prime(i):num_list.append(i)print(num_list)

11、组合数字

有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?

# 方法一
str1 = '1234'
for i in str1:for j in str1:for k in str1:if i == j or i == k or j == k:continueprint(i+j+k)# 方法二
for i in range(1,5):for j in range(1,5):for k in range(1,5):if not(i == j or i == k or j == k):print(f'{i}{j}{k}')

12、打印乘法口诀表

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

13、水仙花数

水仙花数:是一个三位数,各位数字立方和等于该数字本身。

import math
# 水仙花数:是一个三位数,各位数字立方和等于该数字本身。num_list = []
for i in range(100,1000):hundred = i // 100ten = i // 10 % 10piece = i % 10if (math.pow(hundred,3) + math.pow(ten,3)+ math.pow(piece,3)) == i:num_list.append(i)print(num_list)

14、反向输出四位数

编写程序,输入一个四位整数,反对输出对应四位数

# 编写程序,输入一个四位整数,反对输出对应四位数st = input('请输入一个四位数')
st = st[::-1]
print(int(st))

15、判断字母

编写程序,输入字符,判断是否为字母

# 编写程序,输入字符,判断是否为字母a = input('请输入字符: ')
result = a.isalpha()  #  判断字母
if result:print(f'{a}是字母')
else:print(f'{a}不是字母')

16、判断三角形

编写程序,输入三组数据,判断能否构成三角形的三条边

a, b, c = [4, 5, 6]if a <= 0 or b <= 0 or c <= 0:print('输入的数据不合法')if a + b < c or a + c < b or b + c < a:print('不构成三角形')
else:print('构成三角形')

17、完数

个数如恰好等于除了它以外的因子之和,这个数就称为“完数”。编程序找出1000以内的所有完数,(6是一个"完数",它的因子是1,2,3)。

for i in range(1,1000):sum = 0for j in range(1,i):if i % j == 0:sum += jif sum == i:print(i,'是完数')

18、找出质数因子

输入一个正整数,输出它的所有质数因子(如180的质数因子为2、2、3、3、5)。

多个素数的乘积

从第一个数开始,也就是说从2开始,整除一下输入的数

a = int(input('请输入一个自然数:'))
y = 2list1 = []
while a != y:if a % y == 0:list1.append(y)a /= yelse:y += 1list1.append(int(a))  # 最后剩下的a
print(list1)

19、海伦公式求三角形面积

海伦公式是利用三角形的三条边的边长直接求三角形面积的公式

p = ( a + b + c ) / 2 p = (a+b+c)/2 p=(a+b+c)/2

S = p ( p − a ) ( p − b ) ( p − c ) S = \sqrt{p(p-a)(p-b)(p-c)} S=p(pa)(pb)(pc)

import matha = 10
b = 10
c = 10p = (a+b+c)/2
S = math.sqrt(p * (p-a) * (p-b) * (p-c))
print('三角形的面积是:',round(S,2))

20、判断某年某天

输入某年某月某日,判断这一天是这一年的第几天

import datetime# map 把年月日都转成 int类型
year,month, day = map(int, input('请输入年月日: ').split('-'))# 拿到当年的第一天
yundan = datetime.datetime(year,1,1) #
now = datetime.datetime(year, month, day)print((now - yundan).days + 1)

21、斐波那契数列

# 递归
def fib(x):if x == 1 or x == 2:return 1else:return fib(x-1) + fib(x-2)print(fib(6))# 非递归
n = 6
fibs = [1,1]
for i in range(2, n):# fibs.append(fibs[-1] + fibs[-2])fibs.append(fibs[i - 1] + fibs[i - 2])
print(fibs[n-1])

22、复制列表

将一个列表中的数据,复制到另一个列表中

import copylist1 = [1,2,3,4]
list2 = copy.copy(list1)
print(list2)list1 = [1,2,3,4]
lsit2 = list1.copy()
print(lsit2)

23、暂停后输出

暂停一段时间后输出

import timetime.sleep(1) # 以秒为单位
print("Hello Python! ")

24、成绩if语句

利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示

 score = int(input('请输入你的成绩: '))flag = ''
if score >= 90:flag = "A"
elif score >= 60:flag = "B"
else:flag = 'C'
print(flag)

25、统计字符

输入一行字符,分别统计出其中英文字母空格、数字和其它字符的个数。

# 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。string = input('请输入一段字符串:')
char,space,number,other = 0,0,0,0# 方法一
for i in string:if 'a' <= i <= 'z' or 'A' <= i <= 'Z':char += 1elif i == ' ':space += 1elif '0' <= i <= '9':number += 1else:other += 1# 方法二:
for i in string:if i.isalpha():  # 判断字符串char += 1elif i.isdigit():  # 判断数字number += 1elif i.isspace():  # 判断空格space += 1else:other += 1
print(f'英文字母有{char}个,数字有{number}个,空格有{space}个,其他字符有{other}个。')

26、落体反弹问题

球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

n = 100
count = 0
list1 = []# 方法一
while count < 10:if count == 0: # 第一次弹跳,马上要落下来list1.append(n)n /= 2count += 1else:list1.append(2 * n)  # 这是一个 上下的距离n /= 2count += 1
print(sum(list1))# 方法二
# 球的高度
height = 100
# 落地的次数
frequency = 10sum = 0
for i in range(1,frequency):sum += height  # 落下height /= 2sum += height  # 上来print(f'第{i}次下落,高度为:{height}')
print(sum)

27、猴子吃桃问题

猴子吃桃问题:猴子第一天摘下若干个桃子当即吃了一半,还不瘾,又多吃了一个第天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少

# 每天吃了 一半 + 1, 第十天就剩下1个了, 求第一天摘了多少x = 1
for i in range(1, 10):x = (x + 1) * 2print(x)

28、求指数数列的和

有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。

# 方法一
fibs = [1,1]for i in range(20):fibs.append(fibs[-1] + fibs[-2])sum = 0
for i in range(2,22):sum += fibs[i] / fibs[i-1]
print(sum)# 方法二
sum = 0  # 最后的结果
up = 2  # 分子
down = 1  # 分母for i in range(20):sum += up/downup, down = down + up, upprint(sum)

29、求各个阶乘的和

求1+2!+3!+…+20!的和.

sum = 1
# 方法一
for i in range(2,21):target = 1for j in range(1,i + 1): # 阶乘包括本身target *= jsum += target
print(sum)import math
sum = 0
for i in range(1,21):sum += math.factorial(i)
print(sum)

30、年龄急转弯

有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

def func(n):if n == 1:return 10else:return func(n - 1) + 2print(func(5))

31、判断回文数

输入一个数,判断它是不是回文数。12321是回文数,个位与万位相同,十位与千位相同。

number = '12321'# 方法一
if number[0] == number[-1] and number[1] == number[-2]:print(True)
else:print(False)# 方法二
number = int(number)
w = number // 10000
q = number // 1000 % 10
ten = number % 100 // 10
g = number % 10
if q == ten and w == g:print('是回文数')
else:print('不是回文数')# 方法三
a = '12321'
b = a[::-1]  # 字符串反转
if a == b:print('是回文数')
else:print('不是回文数')

32、判断星期几

请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
星期一 Monday、星期二 Tuesday、星期三Wednesday、星期四Thursday、星期五 Friday 、星期六 Saturday、星期日Sunday.

weekdays = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
first_letter = input("请输入星期几的第一个字母(大写):")
matched_days = []
for day in weekdays:if day[0] == first_letter:matched_days.append(day)if len(matched_days) == 1:print("是", matched_days[0])
elif len(matched_days) > 1:second_letter = input("有多个匹配,请输入第二个字母(小写):")final_matched = []for m_day in matched_days:if len(m_day) > 1 and m_day[1] == second_letter:final_matched.append(m_day)if len(final_matched) == 1:print("是", final_matched[0])else:print("无法准确判断,请输入更详细信息")

33、相反顺序输出列表

按相反的顺序输出列表的值。

list1 = [1,2,3,4,5,6,7]
list1.reverse()  # 对原本的数据进行修改,没有返回值
# 方法一
print(list1)# 方法二
print(list1[::-1])

34、对十个数进行排序

对十个数进行排序

a = map(int, input('请输入10个数字').split())
a = list(a)
a.sort()
print(a)

35、求矩阵主对角线元素之和

求一个3*3矩阵主对角线元素之和

a = []
index = 0
sum = 0for i in range(3):a.append([])for j in range(3):index += 1a[i].append(index)# 求对角线元素之和if i == j:sum += a[i][j]
print(a)
print(sum)# 方法二
import numpy as np
arr = np.arange(9).reshape(3,3)
sum_list = np.diagonal(arr)   # 把对角线取出来
print(sum(sum_list))

36、有序列表添加数据

有一个已经排好的序列。现输入一个数,要求按原来的规律将它插入数组中。

list1 = [1,3,8,10,20,50]n = int(input('请输入数据:'))if list1[0] < list1[-2]:list1.append(n)list1.sort()
else:list1.append(n)list1.sort(reverse=True)print(list1)

37、变量值互换

a = 5
b = 10# 方法一
a,b = b,a# 方法二
temp = a
a = b
b = temp

38、产生随机数

生成随机数

import randoma = random.random() # [0,1) float
b = random.randint(1,10) # [1,10] int
c = random.randrange(1,10,3) # 比 randint 多了一个步长
print(a,b,c)

39、lambda表达式

使用lambda来创建匿名函数

fun = lambda x, y: x ** yprint(fun(2, 4))

40、温度转换

输入摄氏度,将其转为华氏度

输入华氏度,将其转为摄氏度。

华氏温度与摄氏温度转换公式为:

华氏温度=摄氏温度x1.8+32。

a = input('摄氏度请按1,华氏度请按2: ')if a == '1':b = float(input('请输入摄氏度: '))result = b * 1.8 + 32print(f'你输入的是摄氏度{b}, 转换为华氏度是{result}')
if a == '2':b = float(input('请输入华氏度: '))result = (b - 32) / 1.8print(f'你输入的是华氏度{b}, 转换为摄氏度是{result}')

41、按位与

# 运算规则: 0&0=0 0&1=0  1&0=0  1&1=1'''
3 => 0011
5 => 0101
3 & 5 => 0001  => 14 => 0100
12 => 1100
4 & 12 => 0100  =>4
'''print(3 & 5) # 1
print(4 & 12) # 4

42、按位或

# 运算规则: 0|0=0, 0|1=1, 1|0=1, 1|1=1
'''
3 => 0011
7 => 0111
3|7 => 0111 => 7
'''
print(3 | 7) # 7

43、按位异或

# 相同为0,不同为1
# 0^0=0  0^1=1  1^0=1  1^1=0
'''
3 => 0011
9 => 1001
3^9 => 1010 => 10
'''
print(3 ^ 9) # 10

44、按位取反

# 按位取反运算符(~): 对数据的每个二进制位取反,即把0变成1,把1变成0
# ~x = -(x+1)
'''
9 => 00001001=> 11110110=> 10001001=> 10001010 在这里加1=> -10
'''
print(~9)  # -10
print(~10)  # -11
print(~(-3))  # 2
# 用十进制计算:正变负,负变正,然后减1

45、计算机字符串的长度

a = input()print(len(a))length = 0
for i in a:length += 1
print(length)

46、杨辉三角

a = []  # 外围for i in range(10):a.append([])for j in range(10):a[i].append(0)for i in range(10):a[i][0] = 1a[i][i] = 1for i in range(2,10):for j in range(1,i):a[i][j] = a[i-1][j] + a[i-1][j-1]for i in range(10):print()for j in range(i+1):print(a[i][j], end='  ')

47、查找字符串

a = 'Hello World!'
b = 'World'
print(a.find(b))

48、猜数字游戏

import randomtarget = random.randint(0,99)
times = 7
print('猜数字游戏开始,请猜一百以内的整数~')
while times != 0:num = int(input('请输入你要猜的数字: \n'))times -= 1if num < target:print('猜小了')elif num > target:print('猜大了')else:print(f'恭喜你才对了,答案是{target}')if times == 0:print('很遗憾,机会用完了.')

49、第一个只出现一次的字符

在一个字符串中找到第一个只出现一次的字符,并返回它的位置,如果没有则返回 -1(需要区分大小写).(从0开始计数

string = 'Hello World'
a = -1  # 默认为 -1
mp = dict()for i in string:if i in mp:mp[i] += 1else:mp[i] = 1for i in range(len(string)):if mp[string[i]] == 1:a = ibreak
print(a)

50、最大公因数

求最大公因数

 def fun1(a, b): # 枚举if a == b:  # 如果两个数一样的话,那么就是他们本身return anum = min(a,b) # 记录最小的while a % num != 0 or b % num != 0:num -= 1return numprint(fun1(12,18))def fun2(a,b):while b != 0: # 除法求余a,b = b,a % breturn a
print(fun2(12,18))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/62384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java转C之并发和多线程

提纲&#xff1a; 概念介绍与对比概述 简述Java与C在并发和多线程方面的核心区别解释C11标准、POSIX、C11 <threads.h>、Pthread等名词 Java多线程与并发回顾 线程、Runnable、ExecutorService概念说明同步关键字与工具类含义 C并发基础 没有Java式的内置线程类&#xf…

Ubuntu系统本地化搭建Maxakb+Ollama

安装docker 最详细的ubuntu 安装 docker教程-腾讯云开发者社区-腾讯云 安装Ollama Ollama官网 执行命令&#xff1a; curl -fsSL https://ollama.com/install.sh | sh安装完成后下载模型 执行命令&#xff1a; ollama run llama3.3:70b安装MaxKb 执行命令&#xff1a; d…

基于JAVA的旅游网站系统设计

摘要 随着信息技术和网络技术的迅速发展&#xff0c;人们的生活质量和观念也在发生着改变&#xff0c;各地争相发展旅游业&#xff0c;传统的 旅游社已经无法满足人们的需求&#xff0c;旅游网站将突破传统在时间和地域的限制&#xff0c;成为方便、快捷、安全、可靠的旅游 方…

【Flux.jl】 卷积神经网络

Flux.jl 是包含卷积神经网络的, 但是官方API文件中没有给出一个完整的程序框架, 只是对所需神经元给了局部解释, 此外对 model-zoo 模型动物园中的案例没有及时跟着 Flux.jl 的版本更新, 也无法运行出来结果。 因此本文搭建了一个完整可训练的卷积神经网络。 Conv 卷积算子…

H5游戏出海如何获得更多增长机会?

海外H5小游戏的崛起给了国内众多中小厂商出海发展的机会&#xff0c;开发者如何在海外市场获得更多的增长机会&#xff1f;#APP出海# H5游戏如何在海外获得核心用户&#xff1f; HTML5游戏的开发与运营者们首先可以利用量多质高的HTML5游戏&#xff0c;维持海外用户粘性&…

Next.js系统性教学:深入理解和应用组件组合模式

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 更多有关Next.js教程&#xff0c;请查阅&#xff1a; 1. 什么是组件组合模式&#xff1f; 1.1 组件组合模式概述 1.2 组件组合模式的优势 2. Next.js 中的组件组合模式…

国际荐酒师Peter助力第六届地博会,推动地理标志产品国际化发展

国际荐酒师Peter Lisicky助力第六届知交会暨地博会&#xff0c;推动地理标志产品国际化发展 第六届粤港澳大湾区知识产权交易博览会暨国际地理标志产品交易博览会于2024年12月9日至11日在中新广州知识城盛大举行&#xff0c;吸引了全球众多行业专家、企业代表及相关机构齐聚一…

Mybatis 延迟加载的实现原理详细解析

Mybatis 延迟加载的实现原理详细解析 &#xff08;1&#xff09;代理对象机制的深入探讨 代理对象的生成&#xff1a;Mybatis 使用代理对象来实现延迟加载是基于 Java 的代理机制。当开启延迟加载并且配置正确后&#xff0c;对于需要延迟加载的关联对象&#xff0c;Mybatis 会…

2024 亚马逊云科技re:Invent:Werner Vogels架构哲学,大道至简 六大经验助力架构优化

在2024亚马逊云科技re:Invent全球大会第四天的主题演讲中&#xff0c;亚马逊副总裁兼CTO Dr.Werner Vogels分享了 The Way of Simplexity&#xff0c;繁简之道&#xff0c;浓缩了Werner在亚马逊20年构建架构的经验。 Werner表示&#xff0c;复杂性总是会“悄无声息”地渗透进来…

Java Web 开发学习中:过滤器与 Ajax 异步请求

一、过滤器 Filter&#xff1a; 过滤器的概念与用途 在一个庞大的 Web 应用中&#xff0c;有许多资源需要受到保护或进行特定的预处理。过滤器就像是一位智能的守卫&#xff0c;站在资源的入口处&#xff0c;根据预先设定的规则&#xff0c;决定哪些请求可以顺利访问资源&…

ThinkPHP框架审计--基础

基础入门 搭建好thinkphp 查看版本方法&#xff0c;全局搜version 根据开发手册可以大致了解该框架的路由 例如访问url http://127.0.0.1:8094/index.php/index/index/index 对应代码位置 例如在代码下面添加新方法 那么访问这个方法的url就是 http://127.0.0.1:8094/index.…

浅谈Python库之‌Requests

一、‌Requests的介绍 Requests 是一个简单易用的 HTTP 库&#xff0c;用于发送各种 HTTP 请求。它由 Kenneth Reitz 创建&#xff0c;并广泛用于 Python 社区中。 二、‌Requests的特点 1、人性化的 API&#xff1a;简洁的接口使得编写请求代码变得简单直观。 2、跨平台&…

如何在vue中使用ECharts

一. 打开ECharts官网,点击快速入门 下面是ECharts官网的链接 https://echarts.apache.org/ 二.在vue中使用 1.首先先引入Echarts js文件 如下图&#xff0c;下面的第一张图片是官网的实现&#xff0c;第二章图片是我根据官网的实现 2.给ECharts 创建一个DOM容器 3. 使用ec…

网络原理之 IP 协议

目录 1. IP 协议报文格式 2. 网段划分 3. 地址管理 1) 动态分配 2) NAT 机制 (网络地址转换) 3) IPv6 4. 路由选择 1. IP 协议报文格式 IP 协议是网络层的重点协议。 网络层要做的事情&#xff0c;主要就是两方面&#xff1a; 1) 地址管理 制定一系列的规则&#xff…

HyperMesh CFD功能详解:后处理功能Part 2

Clips Clips 按钮包含两个工具。Box Clip用于空间上的裁剪&#xff0c;Scalar Clip可以根据物理量的范围裁剪。 示例&#xff1a;Box Clips 裁剪 示例&#xff1a;Scalar Clips 裁剪 通过裁剪&#xff0c;仅显示density范围是10~20的等值面 示例&#xff1a;显示效果控制 部分透…

Java项目实战II基于微信小程序的跑腿系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发&#xff0c;CSDN平台Java领域新星创作者&#xff0c;专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 在快节奏的现代生活中&…

【机器学习与数据挖掘实战案例01】基于支持向量回归的市财政收入分析

【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈机器学习与数据挖掘实战 ⌋ ⌋ ⌋ 机器学习是人工智能的一个分支&#xff0c;专注于让计算机系统通过数据学习和改进。它利用统计和计算方法&#xff0c;使模型能够从数据中自动提取特征并做出预测或决策。数据挖掘则是从大型数…

windows下nacos启动报错:java.lang.unsatisfiedLinkError: C:\USers\乱码AppData\xxx.dll

问题 看了许多别的帖子&#xff0c;大家都是因为缺少dll包&#xff0c;下载安装 Microsoft Visual C 2015 Redistributable 就可以。但我试过了不行。思来想去&#xff0c;之前正常的时候用的JDK版本是17&#xff0c;后面别的项目用1.8给切换回来了。然后尝试配置环境变量将JD…

JavaEE 【知识改变命运】03 多线程(3)

文章目录 多线程带来的风险-线程安全线程不安全的举例分析产出线程安全的原因&#xff1a;1.线程是抢占式的2. 多线程修改同一个变量&#xff08;程序的要求&#xff09;3. 原子性4. 内存可见性5. 指令重排序 总结线程安全问题产生的原因解决线程安全问题1. synchronized关键字…

并发在前端中的应用?

‌并发在前端中的应用主要体现在处理多个请求和优化页面加载速度方面‌。前端并发处理通常涉及在极短时间内发送多个数据请求&#xff0c;例如在页面渲染时同时请求多个数据。通过并发处理&#xff0c;可以显著减少页面加载时间&#xff0c;提升用户体验。 前端并发处理的具体…