Gsupl.落浅~zbxGsupl.落浅~

02:33:00 PM

python基础-基础题目

Gsupl.落浅·2024-09-01 15:41·49 次阅读

python基础-基础题目

题目1:求和

Copy
a,b=map(int,input().split()) print(a+b)

题目2:偶数奇数打印

Copy
list=[] for i in range(1,100): if i%2==0:#if%2!=表示奇数 list.append(i) for i in list:#list转换为str print(i,end=' ')

题目3:偶数奇数求和

Copy
sum=0 for i in range(1,100): if i%2==0: sum+=i print(sum)

题目4:判断素数

(1)素数就是除了1和本身之外无其他自然数整除;算法核心就是判断该自然数是否能被除1和本身之外的其他数整除

Copy
a=int(input()) for i in range(2,a+1): if a%i==0: print("不是素数") else: print("是素数") break

题目5:求阶乘

Copy
#非递归 a=int(input()) sum=1 for i in range(1,a+1): sum*=i print(sum)

题目5:求圆面积和周长

Copy
import math r=int(input()) pi = math.pi a=pi*r*2 s=pi*r**2 print("面积:%.2f"%a) print("周长:%.2f"%s)

题目6:求三角斜边长

Copy
import math a,b=map(int,input().split()) c=math.sqrt(a**2+b**2) print(int(c))

题目7:排序

Copy
a,b,c=map(int,input().split()) list=[a,b,c] list1=sorted(list) for i in list1: print(i,end=' ')

题目8:找出区间内素数

(1)区间为[a,b]

Copy
def prinme(n): flag = True#默认认为为素数 for i in range(2, n): if n % i == 0: flag = False break return flag a,b = map(int, input().split()) list=[] for n in range(a,b+1): if prinme(n): list.append(n) print(list)

题目9:4位数排序

(1)四个数字组合成互不重复的三位数字;就是嵌套三层循环分别表示不同的位置;然后进行排列组合

Copy
for i in range(1,5): for j in range(1,5): for m in range(1,5): if i!=j and i!=m and j!=m: print(i,j,m)

题目10:"99乘法表"

(1)核心就是根据乘法表的特性进行编写(第一行有1列;第二行有2列;以此类推)

Copy
for i in range(1,10): print() for j in range(1,i+1): print(f"{i}*{j}={i*j}",end=" ")

题目11:水仙花数

(1)水仙花数是一个三位数;各位数立方之和等于该数本身

Copy
for i in range(100, 1000): a = i % 10 # 获取个位数字 b = (i % 100) // 10 # 获取十位数字 c = i // 100 # 获取百位数字 if a*a*a + b*b*b + c*c*c == i: print(f"水仙花数:{i}")

题目12:反向输出四位数

Copy
a,b,c,d = map(int,input().split()) list=[a,b,c,d] list1=list[::-1] for i in list1: print(i,end=' ')

题目13:输入字符;判断是否为字母

Copy
a=input result=a.isalpha() if result: print("是字母") else: print("不是字母")

题目14:判断三角形

Copy
a<=0 or b<=0 or c<=0 #数据不合法 a+b>c and a+c>b and b+c>a #满足条件

题目15:判断完数

(1)特征:这个数恰好等于除了它之外的因子之和

Copy
for i in range(1,1000):#1000以内的数 sum=0 for j in range(1,i):#除了它之外的因子 if i%j==0: sum+=j if sum==i: print(i)

题目16:海伦公式

Copy
a,b,c = map(int,input().split()) p=(a+b+c)/2 s=((p*(p-a)*(p-b)*(p-c))**0.5) print(s) #或者使用math.sqrt代替**0.5

题目17:判断某年某天

Copy
import datetime year, month, day = map(int, input("请输入日期(格式:YYYY-MM-DD): ").split('-')) yuandan =datetime.datetime(year, 1, 1) now = datetime.datetime(year,month,day) days = (now - yuandan).days print("距离元旦还有{}天".format(days))

题目18:斐波那切数列

(1)[1,1,2,3,5,8,13....]

Copy
list=[1,1] for i in range(1,10): list.append(list[-1]+list[-2]) print(list)

题目19:列表复制

(1)将一个列表的数据复制到另一个列表当中

Copy
#直接复制法-浅复制 #深复制 import copy list=[1,2,3,4] list1=copy.copy[list]

题目20:暂停后输出

Copy
import time time.sleep(5)#程序休眠5秒 print("gsupl")

题目21:成绩if语句

Copy
score=int(input("请输入成绩")) if score>=90: print("A") elif 60<=score<90: print("B") else: print("C")

题目22:统计字符

Copy
string=input("请输入字符串") char=0 number=0 space=0 other=0 for i in string: if i.isalpha(): char+=1 elif i.isdigit(): number+=1 elif i.isspace(): space+=1 else: other+=1 print(f"{char}{space}{number}{other}")

题目23:落体反弹问题

Copy
n=100 count=0 list=[] while count<10: if count%2==0: list.append(n) count+=1 continue else: n=n/2 list.append(n) count+=1 print(list)

题目24:猴子吃桃问题

(1)猴子第一天摘了若干个桃子;第一天吃了一半+1;以此类推;到第10天早上剩一个桃子了!

Copy
#逆推过程成就是当前的桃子+1乘2 sum=1#初始桃子的数量 for i in range(1,10):#表示1-9天的天数 total=(sum+1)*2 sum=total print(sum)

题目25:指定数列的和

(1)1/2 3/2 5/3 8/5 13/8 21/13;求前20项的和;分子分母分开进行计算

Copy
sum=0 up=2 down=1 for i in range(20): sum+=up/down t=down down=up up=up+t print(sum)

题目26:求乘阶和

(1)1!+2!+3!+...+20!的和

Copy
import math sum=0 for i in range(1,21): sum+=math.factorial(i) print(sum)

题目27:年龄急转弯

Copy
#递归函数 def func(n): if n==1: return 10 else: return func(n-1)+2 print(func(5))

题目28:判断回文数

(1)特征:正序和反序相同

Copy
a=input("请输入字符串:") a=str(a) b=a[::-1] if a==b: print("是回文串") else: print("不是回文串")

题目29:判断星期几

Copy
#简单的循环判断

题目30:相反列表输出

Copy
#方法1;使用reverse()方法-->list.reverse() #方法2:使用切片进行反转-->list1=list[::-1]

题目31:数字排序

(1)将输入的数据转换成列表使用sort()方法进行排序,split()方法会将传输进来的数据存字符类型转化为列表类型

Copy
a=input().split() a.sort() print(a)

题目32:3*3矩阵主对角元素和

Copy
a=[] sum=0 for i in range(3): a.append([]) for j in range(3): data=int(input(f"请输入第{i+1} 行 第{j+1} 列的数字:")) a[i].append(data) if i==j: sum+=a[i][j] print(a) print(sum)

题目33:有序列表插入数据

Copy
list=[1,2,3,4,5,6,7,8,9,10] data=int(input()) list.append(data) list.sort() print(list)

题目34:交换变量值

(1)中间变量

Copy
a,b=1,2 temp=a a=b b=temp print(a,b)

题目35:产生随机数

Copy
import random a=random.randint(1,100)#生成1-100以内的随机数 print(a)

题目36:匿名函数

Copy
a=lambda x,y:x+y print(a(1,2))

题目37:温度单位转化

Copy
a=int(input('摄氏度请按1,华氏度请按2:')) if a==1: b=float(input('请输入摄氏度:')) c=(b*9/5)+32 print('华氏度为:',c) elif a==2: b=float(input('请输入华氏度:')) c=(b-32)*5/9 print('摄氏度为:',c) else: print('输入错误,请重新输入!')

题目38:按位与

Copy
print(3 & 34)

题目39:按位或

Copy
print(3|7)

题目40:按位异或

(1)相同为0,不同为1

Copy
print(3^9)

题目41:按位取反

Copy
print(~10)

题目42:字符串的长度

Copy
#方法1;使用函数 len(str) #方法2;for循环遍历,conut+=1

题目43:杨辉三角

Copy
a = [] for i in range(10): a.append([]) # 创建10个空列表 for j in range(i + 1): if j == 0 or j == i: a[i].append(1) # 将第i行的第一个和最后一个元素设置为1 else: a[i].append(a[i-1][j-1] + a[i-1][j]) # 其他元素为上一行对应元素之和 for i in range(10): for j in range(i + 1): print(a[i][j], end=' ') print()

题目44:查找字符串

Copy
a="hello world" b="world" pint(a.find(b))#查找子串起始位置

题目45:猜数字游戏

Copy
import random target = random.randint(1, 100) count=0 while count<7: input_num = int(input("请输入一个数字:")) if input_num == target: print("你猜对了") break elif input_num > target: print("你猜大了,请重新输入") count+=1 else: print("你猜小了,请重新输入") count+=1 else: print("你已经猜错7次,游戏结束")

题目45:统计字符次数

Copy
str = "Hello, World!" a = -1 mp = dict() for i in str: if i in mp: mp[i] += 1 else: mp[i] = 1 for i in range(len(str)): if mp[str[i]] == 1: a = i break print(a)

题目46:最大公因数

Copy
def func(a,b): if a==b: return a num=min(a,b) while a%num!=0 or b%num!=0: num-=1 return num print(func(12,18))

题目47:替换空格

Copy
str="hello world" str1=str.replace(" ","@") print(str1) #或者进行for循环遍历进行替换

题目48:快乐数

Copy
def change(x): sum=0 while x>0: j=x%10#取出最后一位数字 sum+=j*j x//=10#去掉最后一位数字 return sum def happynumber(n): while n>9: n=change(n) if n==1: return True else: return False print(happynumber(19))

题目49:立方根

Copy
import math def func(n): result=math.pow(n,1/3) return int(result) print(func(125))

题目50 最长公共前缀
def func(strs):
min_length=min(len(s) for s in strs)

Copy
for i in range(min_length): first_number=strs[0][i] for num in strs: if num[i]!=first_number: return strs[0][:i] return strs[0][:min_length]

strs = ["flower","flow","flight"]
result = func(strs)
print(result,end="")

posted @   Gsupl.落浅~  阅读(49)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 推荐几款开源且免费的 .NET MAUI 组件库
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· Trae初体验
点击右上角即可分享
微信分享提示

目录导航