題目1:求和
a,b=map(int,input().split())
print(a+b)
題目2:偶數奇數列印
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:偶數奇數求和
sum=0
for i in range(1,100):
if i%2==0:
sum+=i
print(sum)
題目4:判斷素數
(1)素數就是除了1和本身之外無其他自然數整除;演算法核心就是判斷該自然數是否能被除1和本身之外的其他數整除
a=int(input())
for i in range(2,a+1):
if a%i==0:
print("不是素數")
else:
print("是素數")
break
題目5:求階乘
#非遞迴
a=int(input())
sum=1
for i in range(1,a+1):
sum*=i
print(sum)
題目5:求圓面積和周長
import math
r=int(input())
pi = math.pi
a=pi*r*2
s=pi*r**2
print("面積:%.2f"%a)
print("周長:%.2f"%s)
題目6:求三角斜邊長
import math
a,b=map(int,input().split())
c=math.sqrt(a**2+b**2)
print(int(c))
題目7:排序
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]
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)四個數字組合成互不重複的三位數字;就是巢狀三層迴圈分別表示不同的位置;然後進行排列組合
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列;以此類推)
for i in range(1,10):
print()
for j in range(1,i+1):
print(f"{i}*{j}={i*j}",end=" ")
題目11:水仙花數
(1)水仙花數是一個三位數;各位數立方之和等於該數本身
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:反向輸出四位數
a,b,c,d = map(int,input().split())
list=[a,b,c,d]
list1=list[::-1]
for i in list1:
print(i,end=' ')
題目13:輸入字元;判斷是否為字母
a=input
result=a.isalpha()
if result:
print("是字母")
else:
print("不是字母")
題目14:判斷三角形
a<=0 or b<=0 or c<=0 #資料不合法
a+b>c and a+c>b and b+c>a #滿足條件
題目15:判斷完數
(1)特徵:這個數恰好等於除了它之外的因子之和
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:海倫公式
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:判斷某年某天
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....]
list=[1,1]
for i in range(1,10):
list.append(list[-1]+list[-2])
print(list)
題目19:列表複製
(1)將一個列表的資料複製到另一個列表當中
#直接複製法-淺複製
#深複製
import copy
list=[1,2,3,4]
list1=copy.copy[list]
題目20:暫停後輸出
import time
time.sleep(5)#程式休眠5秒
print("gsupl")
題目21:成績if語句
score=int(input("請輸入成績"))
if score>=90:
print("A")
elif 60<=score<90:
print("B")
else:
print("C")
題目22:統計字元
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:落體反彈問題
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天早上剩一個桃子了!
#逆推過程成就是當前的桃子+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項的和;分子分母分開進行計算
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!的和
import math
sum=0
for i in range(1,21):
sum+=math.factorial(i)
print(sum)
題目27:年齡急轉彎
#遞迴函式
def func(n):
if n==1:
return 10
else:
return func(n-1)+2
print(func(5))
題目28:判斷迴文數
(1)特徵:正序和反序相同
a=input("請輸入字串:")
a=str(a)
b=a[::-1]
if a==b:
print("是迴文串")
else:
print("不是迴文串")
題目29:判斷星期幾
#簡單的迴圈判斷
題目30:相反列表輸出
#方法1;使用reverse()方法-->list.reverse()
#方法2:使用切片進行反轉-->list1=list[::-1]
題目31:數字排序
(1)將輸入的資料轉換成列表使用sort()方法進行排序,split()方法會將傳輸進來的資料存字元型別轉化為列表型別
a=input().split()
a.sort()
print(a)
題目32:3*3矩陣主對角元素和
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:有序列表插入資料
list=[1,2,3,4,5,6,7,8,9,10]
data=int(input())
list.append(data)
list.sort()
print(list)
題目34:交換變數值
(1)中間變數
a,b=1,2
temp=a
a=b
b=temp
print(a,b)
題目35:產生隨機數
import random
a=random.randint(1,100)#生成1-100以內的隨機數
print(a)
題目36:匿名函式
a=lambda x,y:x+y
print(a(1,2))
題目37:溫度單位轉化
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:按位與
print(3 & 34)
題目39:按位或
print(3|7)
題目40:按位異或
(1)相同為0,不同為1
print(3^9)
題目41:按位取反
print(~10)
題目42:字串的長度
#方法1;使用函式
len(str)
#方法2;for迴圈遍歷,conut+=1
題目43:楊輝三角
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:查詢字串
a="hello world"
b="world"
pint(a.find(b))#查詢子串起始位置
題目45:猜數字遊戲
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:統計字元次數
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:最大公因數
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:替換空格
str="hello world"
str1=str.replace(" ","@")
print(str1)
#或者進行for迴圈遍歷進行替換
題目48:快樂數
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:立方根
import math
def func(n):
result=math.pow(n,1/3)
return int(result)
print(func(125))
題目50 最長公共字首