- 博客(64)
- 收藏
- 关注
原创 猴子吃桃问题
猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,有多吃了一个,第二天早上有将剩下的桃子吃掉一半,又多吃了一个。到第十天早上想再吃时,见只剩下一个桃子了。x1=(x10+1)*2 # 加上多吃的那一个桃子,得到前一天剩下的一半,再乘2得到前一天的总桃子数。for day in range(9,0,-1): #从第9天到第1天倒退循环,表示从9开始,到1结束。x10=x1 #将前一天的桃子数x10赋给x1。x10=1 #第十天剩下的桃子个数为1。print(x1) #第一天的桃子数。
2025-02-02 23:39:57
207
原创 有5个人坐在一起,问第五个人多少岁?他说比第四个人大两岁。问第四个人岁数,他说比第三个人大两岁。问第三个人,又说比第二个大两岁。问第二个人,说比第一个人大两岁。最后问第一个人,他说是10岁。
return age(n-1)+2 # 递归调用并加2,表示每个人都比前一个人大2岁。return 10 # 第一个人的年龄确定10岁。if n==1: # 第一个人。# 调用函数计算第五个人的年龄。
2025-02-02 23:16:31
83
原创 # 题目:求1+2!+3!+4!+5!+…+20!的和
sum+=t #将阶乘累加到总和中。t*=i #计算当前数字i的阶乘。t=1 #用于存储当前数字的阶乘。sum=0 #累加总和。
2025-02-01 22:46:31
132
原创 一个数如果恰好等于他的因子之和,这是就成为“完数“,例如6=1+2+3.编程找出1000以内的所有完数
stdout.write(str(k[j])) #将因子转换为字符。for j in range(len(k)): #遍历银子列表。stdout.write(' ') #写入空格分隔。k.append(j) #将因子j加入列表k。if s==0:#如果s最终为0,说明i是一个完数。if i%j==0: #如果j是i的因子。s-=j #从s中减去银子j。s=i #初始化s为当前数字i。print() #换行。k=[] #用于存储因子。
2025-02-01 22:32:37
206
原创 输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。
if char.isalpha(): #判断字符char是否字母。elif char.isspace(): # 判断是否空格。elif char.isdigit(): #判断是否数字。input_str=input("请输入一行字符: ")print(f"英文字母个数:{letter}")print(f"其它字符个数{others}")print(f"空格个数:{space}")print(f"数字个数:{digit}")digit=0 # 表示数字的个数。space=0 #表示空格的个数。
2025-01-31 13:52:21
328
原创 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用c表示。
score=int(input("请输入成绩: "))if score>=90: #成绩。grade='A' #等级。
2025-01-31 12:39:31
112
原创 将一个正整数分解质因数,例如:输入90,打印出90=2*3*3*5;
map(str,numbers)是将列表中的数字转换为字符串,用*将转换后的字符串列表连接成一个字符串。print(f"{n}= ",end="") #输出格式,例如当输入90的时候,90=2*3*3*5。for i in range(2,n+1): #输入一个从2开始n结束的任意的正整数。while n%i==0: #如果n能被i 整除,那么i是n的质因数。n=n//i #n等于n除以i的整数部分。if n==1: #如果n已经被分解完毕,则退出。n=int(input("请输入一个正整数n: "))
2025-01-30 13:21:16
255
原创 # 题目:打印出水仙花数,水仙花数指的是一个三位数,其各位数字立方和等于该数本身。例如:153=1的三次方+5的三次方+3的三次方;
i=n//100 #百位 , ’//‘是整数除法运算符,表示两个数进行除法运算,只保留整数部分。for n in range(100,1000): #从100到999结束,遍历所有的三位数。j=(n//10)%10 #十位。# 判断是否为水仙花数。k=n%10 #个位。
2025-01-30 12:47:07
93
原创 判断1到100之间有多少个素数,并输出所有的素数。
for i in range(2,int(num**0.5)+1): #从2开始到根号num的整数结束,因为一个数num不是素数,那么把必定有一个小于或等于根号num的因素。print(f"1到100之间共有{len(prime_numbers)}个素数,他们分别是:") #len(prime_numbers)是计算素数的数量。prime_numbers.append(num) # 如果num是素数那么添加到prime_numbers列表中。def is_prime(num): #判断一个数是否素数。
2025-01-29 14:37:21
188
原创 有一对兔子,从出生后第三个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
分析:兔子从第三个月起增加一对,前两个月1对,三月份2对,4月份3对,5月份5对,6月份8对,7月份13个,以此类推每个月的兔子总数是前两月的兔子数的和。return fibonacci(n-1)+fibonacci(n-2) # 前两个月的兔子总数的和。if n==1 or n==2: #当输入1和2是表示前两个月,因为前两个月的兔子总数都是1。print(f"第{i}个月的兔子总数为:{fibonacci(i)}")for i in range(1,13): #计算前12个月的兔子总数。
2025-01-29 14:11:21
254
原创 题目:打印楼梯,同时在楼梯上方打印两个笑脸
print(" ",end='') #输出空格,形成楼梯的形状。for b in range(1,a): # 每一行的空格数。print(":) ") #在每一行的末尾打印一个笑脸。for a in range(1,11): # 楼梯行数。题目:打印楼梯,同时在楼梯上仿打印两个笑脸。
2025-01-28 14:49:45
73
原创 输出国际象棋棋盘
if(i+j)%2==0: #i+j之的和的变化来控制输出黑方格还是白方格i+j的值和为偶数则输出黑方格,否则输出白方格。print('\u2588',end='') #使用\u2588字符输出黑方格。print(' ',end='') #使用空格输出白方格。for j in range(8): #列数,从1到7。for i in range(8): #行数,从1到7。print() #换行。# 题目:输出国际象棋棋盘。
2025-01-28 14:05:46
214
原创 输出九九乘法表
for j in range(1,i+1): #列数1到当前行数i。for j in range(1,10): # 列数1到9。for i in range(1,10): #行数,1到9。for i in range(1,10): #行数。# 题目:输出九九乘法表。
2025-01-27 15:30:12
146
原创 输入三个数字,进行升序和降序的排序输出
reverse 参数控制数据的排序方向,True 为降序,False为升序。num=[x,y,z] # 将输入的数字存储到一个列表中。# 题目:输入三个数字,进行升序和降序的排序输出。x=int(input("请输入x: "))y=int(input("请输入y: "))z=int(input("请输入z: "))#sort()方法用于对列表或序列进行排序。print("升序排序:",num)print("降序排序:",num)
2025-01-27 14:41:49
124
原创 输入某年某月某日,判断这一天是这一年的第几天
day_of_year=sum(month_days[:month-1])+day # 计算从1月到输入月份的前一个月的总天数。print(f"{year}年{month}月{day}日是这一年的第{day_of_year}天")def is_leap_year(year): #判断是否闰年。month=int(input("请输入月份: "))题目:输入某年某月某日,判断这一天是这一年的第几天。year=int(input("请输入年份:"))day=int(input("请输入日期: "))
2025-01-26 12:13:15
250
原创 一个整数,它加上100后是一个完全平方数,再加上268又是一个完全的平方数,该数是多少?
1.题目:一个整数,它加上100后是一个完全平方数,再加上268又是一个完全的平方数,该数是多少?2.分析:10万以内判断,x+100=a*a,x+100+268=b*b;3.在当前的程序当中导入math 数据模块,sqrt 是平方根。
2025-01-26 11:42:49
126
原创 企业发工资的奖金根据利润提成计算
i=int(input("从键盘输入当月利润i:"))print("利润",lirun)企业发工资的奖金根据利润提成。
2025-01-25 20:45:02
190
原创 题目:由1,2,3,4个数字能组成多少个互不相同且无重复的数字的三位数,都是多少?
print("由1,2,3,4个数字能组成多少个互不相同且无重复的数字的三位数总共有:",count)# 题目:由1,2,3,4个数字能组成多少个互不相同且无重复的数字的三位数,都是多少?for k in range(1,5): #表示个位,同样有4个数字。for i in range(1,5): #百位,表示1到5个数字,5不包括。for j in range(1,5): #表示十位,同样有4个数字。# 三位数,可填写百位,十位,个位数。
2025-01-25 17:10:25
231
原创 类的成员方法和构造方法
print(f"hello classmates,I'm {self.name},{self.age}years old") # self 表示类对象自身,必须出现self。def __init__(self,name,age,id): #有定义和赋值功能。self.name=name # self.name等于外部传入的name。self.age=age #self.age等于外部传入的age。stu=student_information("小威",22,"001")
2024-03-26 22:35:45
235
1
原创 初步认识面向对象
date_of_birth=None # 出生日期。native_place=None # 籍贯。stu1.native_place="中国香港"stu2.native_place="四川省"name=None # 姓名。sex=None # 性别。id=None # 学号。stu1.name="王嘉尔"stu2.name="丁程鑫"# 获取对象中记录的信息。stu1.sex="男"stu2.sex="男"# 对象属性进行赋值。
2024-03-24 20:33:07
135
原创 通过不同的函数对列表进行排序
list.sort(key=choose_sort_key,reverse=True) # reverse 颠倒,反转,也就是按大到小排序,如果不写reverse 则按小到大排序,True 是从大到小排序,False是从小到大排序。return element[1] # 每个元素的下标为1 的排序,对数字排序。1.通过带名函数对列表进行排序: # sort 排序,序列。2.通过lambda 函数排序。
2024-03-24 16:18:03
145
原创 基础时间线柱状图绘制
给柱状图对象添加y轴的数据,GDP是y 轴数据的名称,把y的数据的位置(position)移到图案的右侧。bar1.add_xaxis(["中国","美国","英国"]) # 给柱状图对象添加x轴的数据。bar2.add_xaxis(["中国","美国","英国"]) # 给柱状图对象添加x轴的数据。bar3.add_xaxis(["中国","美国","英国"]) # 给柱状图对象添加x轴的数据。timeline.render("基础时间线柱状图.html")
2024-03-23 20:48:12
451
原创 pyecharts 模块(创建简单的折线图和柱状图)
line.add_yaxis("course_result",[78,65,60]) # 给折线图对象添加y轴的数据,course_result是y 轴数据的名称。from pyecharts.options import TitleOpts,LegendOpts #控制标题选项。line.add_xaxis(["数据库","计算机组成原理","算法设计"]) # 给折线图对象添加x轴的数据。# 通过 render(造成,翻译)方法,将代码生成为图像。line=Line() # 创建一个折线图对象。
2024-03-23 17:52:18
253
原创 JSON 数据(就是字符串)格式的转换
str1='[{"name":"小威","age":22},{"name":"小蕊","age":21},{"name":"小夏","age":22}]'list1=[{"name":"小威","age":22},{"name":"小蕊","age":21},{"name":"小夏","age":22}]3> 配置文件:JSON可以用作配置文件,用于存储应用程序的设置和参数。str2='{"name":"王嘉尔","id":"香港"}'dict1={"name":"王嘉尔","id":"香港"}
2024-03-21 22:38:01
1127
原创 自定义python 包(package)
from ba.age import info_print # ba 是包名,age是模块名(文件名),info_print是功能。1.包就是一个文件夹,在该文件夹下包含了一个_int_.py文件,该文件夹可用于包含多个模块文件;案例:(先创建一个python包,然后把它写在创建的python 包 _int_.py里面)案例:(先创建一个python包,然后把它写在创建的python 包 _int_.py里面)ba.age.info_print() #功能是info_print()
2024-03-20 17:54:03
377
原创 模块的概念和导入
python 模块(module),是一个python 文件,以.py 结尾,模块能定义函数,类和变量,模块也能包含可执行的代码。<3> from 模块名 import * 的基本语法: * 意思是导入所有的方法。<4> 模块定义别名语法:(别名就是给具体的模块或者是具体的功能完成改名的效果)2.from 模块名 import 功能 as 别名。# import 导入,time 模块名。from 模块名 import 功能名。sleep(3)# 暂停/睡眠3秒钟,from 模块名 import *
2024-03-12 22:06:57
245
原创 异常的传递性
print(f"出现异常了,异常信息是:{e}")print("func1 开始执行")num=1/0 #1除以0 肯定有异常。print("func1 结束执行")print("func2 开始执行")print("func2 结束执行")main() # 调用函数main。
2024-03-10 23:20:22
97
原创 python中异常的处理
print("name 变量名称未定义错误") # e是捕获到的异常的对象,print(e) 是打印异常的具体信息。print("出现异常了,因为文件不存在,将open的模式改为w模式去打开,这样会创建(写出)文件")# 捕获指定的异常: 在这个例子中只处理了指定的name,其他的异常仍然存在。print("name 变量名称未定义错误 或者 除以0的异常错误")<3> 捕获多个异常: 两个异常分开写。
2024-03-05 23:28:06
719
原创 文件操作的综合案例
要求:<1>读取文件,<2>将文件写出到win.txt 文件,<3>文件内标记为测试的数据行丢弃,全部标记测试的数据行改为正式数据行;#由于前面对内容内进行了strip()的操作,处理了换行符以及空格,所以要手动地写出行符。line=line.strip() #处理换行以及空格。# 通过close()方法两个文件对象关闭。# 通过for 循环读取文件。
2024-03-02 23:20:01
258
原创 文件的写出操作
file=open("D:/python.txt","w",encoding="UTF-8") #打开已存在的文件。file.write("please open your book") #内容写到内存中。<3>关闭文件 flush 刷新方法,刷新才能写到硬盘的文件中。<1>打开文件:open()方法是文件不存在时创建文件。time.sleep(10) # 睡眠10秒。file.close() #关闭文件。
2024-02-28 23:26:40
256
原创 文件读取操作案例(以读取文件的方式,统计单词在文件的出现个数)
count=show.count("加油")# 在接受的文件中统计"加油" 的出现个数。show=file.read() # 用show变量来接收它。print(f"加油在文件中出现了:{count}次")#读取全部内容,并用count方法来统计"加油"的数量。案例:接受一个文件后统计文件中"加油"出现的次数。# 先打开文件,以读取得模式打开。
2024-02-28 21:02:51
174
原创 文件的读取操作
print(f"file对象的内容是:{file}") # 结果为空是因为上面用过的read()方法已经读取了全部内容,readlines()方法也是把结尾接着读取,上面的read()方法注释掉之后才能输出全部行的内容,行之间自动读取换行字符(\n)。1. 读取文件:read(),注意在程序中多次使用read()方法时,下面的read()方法是上面read()方法的结尾处,接着读取;print(f"read方法读取全部内容的结果为:{f.read()}") # 没有参数默认为读取全部内容。
2024-02-27 20:41:42
281
原创 函数作为参数传递和匿名函数(lambda)
2> 匿名函数的定义语法:lambda 传入参数 :函数体 (只能写一行代码,无法写多行代码)<1>def 关键字,可以定义带有名称的函数;lambda 关键字,可以定义无名称的函数。test_func(lambda x,y:x*y) # x,y表示两个参数。1.函数作为参数传递:需要一个函数作为参数,传入函数中使用;# 定义一个函数,接收另一个函数作为传入参数。# 定义一个函数,准备作为参数传入另一个函数。# 调用,并传入函数。
2024-02-15 00:08:39
268
原创 函数的多种参数使用方式
2>关键字传递: 参数是"键=值"形式的情况下,都会被kwargs 接受,同时会根据"键=值"组成字典,kwargs 前面要用两个"**"my_information2(name="小威",age=22,sex="女")my_information(name="小威",age=22,sex="女")my_information(age=22,name="小明",sex="男")my_information(age=22,name="小明",sex="男")my_name("小威",22,"女")
2024-02-14 00:38:25
270
原创 字符串大小比较的方法以及函数的多返回值
print(f"abc大于abd,结果为{'abc'>'abd'}") #结果为布尔类型False。print(f"key1大于key2,结果为{'key1'>'key2'}") #False。print(f"a大于A,结果为{'a'>'A'}") #True。1.字符串的大小比较: 按照ASCII码表的值进行比较字符串大小。2.函数的多返回值: 支持不同类型的数据return。
2024-02-12 23:56:40
303
原创 数据容器的通用操作
print(f"容器对象的排序结果为:{sorted(age,reverse=True)}")print(f"容器对象的排序结果为:{sorted(age)}")1.print(len(my_num)) #统计容器的元素个数。2.print(max(my_num)) #统计容器的最大元素。3.print(min(my_num)) #统计容器的最小元素。print(tuple(age)) # 将容器转元组。print(str(age))# 将容器转字符串。print(list(age)) #将容器转列表。
2024-02-12 00:59:10
197
原创 字典的定义和操作
,"小蕊":{ "语文":89, "数学":86, "英语":92。name4={"小威":78,"小芳":82,"小蕊":89}name4={"小威":78,"小芳":82,"小蕊":89}name4={"小威":78,"小芳":82,"小蕊":89}name4={"小威":78,"小芳":82,"小蕊":89}name4={"小威":78,"小芳":82,"小蕊":89}name4={"小威":78,"小芳":82,"小蕊":89}name4={"小威":78,"小芳":82,"小蕊":89}
2024-02-09 01:43:11
440
原创 集合的定义,操作和遍历
age1.difference_update(age2)# 表示从集合1中删除和集合2相同的元素。age3=age1.difference(age2)# 表示集合1中有而集合2中没有的元素集合。age3=age1.union(age2) # 将集合1和集合2合并成一个新集合。print(f"集合的元素有{element}") #把元素取出来。<5>取出两个集合的差集 (差集就是集合1中有而集合2中没有的元素集合)<6>消除2个集合的差集(从集合1中删除和集合2中相同的元素)
2024-02-08 00:48:39
316
原创 序列的定义和切片操作
3.切片操作的语法: # 表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列;1.序列的定义:序列是指内容连续,有序,可使用下标索引的一类数据容器。print(name2[::-1][9:14]) # 先倒序后切片。name2="万过新月,员序程马黑来,nohtyp学"2.切片: 从一个列表中,取出一个子序列。序列[起始下标:结束下标:步长]# 要求输出黑马程序员。
2024-02-04 00:30:24
216
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人