python菜鸟100例精选
生活随笔
收集整理的這篇文章主要介紹了
python菜鸟100例精选
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
# 有四個數字:1、2、3、4,能組成多少個互不相同且無重復數字的三位數?各是多少?
def four_number():n = 0for i in range(1,5):for j in range(1,5):for k in range(1,5):if (i != j) and (i!=k) and (j!=k):n += 1# print(i,j,k)print(n)print(64-n)
# four_number()# 輸入某年某月某日,判斷這一天是這一年的第幾天?
import datetime
def ymd_days(y,m,d):# months = (0,31,59,90,120,151,181,212,243,273,304,334)# days = months[m-1]# days += d# if y%400 == 0 or y%4==0 and y%100 !=0:# if m > 2:# days +=1days = (datetime.datetime(y,m,d)-datetime.datetime(y,1,1)).daysdays += 1print(days)
# ymd_days(2019,7,17)# 輸入三個整數x,y,z,請把這三個數由小到大輸出。
def sort_three():list1 = []for i in range(3):x = int(input("整數:"))list1.append(x)list1.sort()print("從小到大輸出:")print(list1)
# sort_three()# 斐波那契數列。
def faibo(n):a,b = 1,1for i in range(n-1):a,b = b,a+bprint(a)
# faibo()def faibo2(n):if n == 1 or n == 2:return 1return faibo2(n-1)+faibo2(n-2)
# faibo2(6)# 輸出 9*9 乘法口訣表。
def n_n():for i in range(1,10):for j in range(1,i+1):print("%s*%s=%s"%(j,i,i*j),end='\t')print()
# n_n()# 判斷101-200之間有多少個素數,并輸出所有素數。
def sushu(n):for i in range(2,n):if n % i == 0:return 0return n
def many_sushu():s = 0for i in range(100,200):if sushu(i):print(i)s += 1print(s)
# many_sushu()# 打印出所有的"水仙花數"
def shui_xian():for n in range(100,1000):i = n//100j = n//10%10k = n%10if n == i**3+j**3+k**3:print(n)
# shui_xian()# 將一個正整數分解質因數。
def fenjiezhi(n):print("%s="%n,end='')while True:if sushu(n):print(n)breakfor i in range(2,n):if n % i ==0:print(i,end='*')n = n // ibreak# fenjiezhi(90)# 輸入一行字符,分別統計出其中英文字母、空格、數字和其它字符的個數。
def zifushu():n = input("輸入字符串:")eng,num,space,others=0,0,0,0for i in n:if i.isalpha():eng += 1elif i.isdigit():num += 1elif i.isspace():space += 1else:others += 1print(eng,num,space,others)
# zifushu()# 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數字。
def snum_nnum():a = int(input("輸入a的值:"))n = int(input("相加n次:"))Tn = 0s = 0for i in range(n):Tn += as += aa *= 10print(s)
# snum_nnum()# 一個數如果恰好等于它的因子之和,這個數就稱為"完數"。找出1000以內的所有完數。
def wanshu():for i in range(6,1001):s = 0if not sushu(i):for j in range(1,i):if i % j == 0:s += jif s == i:print(i)
# wanshu()# 打印出如下圖案(菱形):
def lingxing(n):for i in range(n+1):print(" " * (n - i), end='')print(" *"*(2*i-1))for i in range(n-1):print(" "*(i+1), end='')print(" *"*(2*(n-i)-3))
# lingxing(6)# 利用遞歸方法求5!。
def jiecheng(n):if n == 1:return 1return n*jiecheng(n-1)
# print(jiecheng(5))# 給一個n位的正整數,要求:一、求它是幾位數,二、逆序打印出各位數字。
def num_int(n):n = str(n)l = len(n)print("該正整數為:%s位數"%l)l -= 1while l>=0:print(n[l])l -= 1
# num_int(4561348)# 一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。
def huiwen(n):n = str(n)if n[0] == n[4] and n[1]==n[3]:print("是回文數")else:print("不是回文數")
# huiwen(12321)# 對10個數進行排序
# 冒泡排序
def maopao():nums = [10,9,8,7,6,5,4,3,2,1]n = len(nums)for i in range(n-1):for j in range(n-1-i):if nums[j] > nums[j+1]:nums[j+1],nums[j] = nums[j],nums[j+1]print(nums)print("排序完成")print(nums)
# maopao()# 選擇排序
def paixue():nums = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]n = len(nums)for i in range(n-1):for j in range(i,n):if nums[i] > nums[j]:nums[i],nums[j] = nums[j],nums[i]print(nums)print("排序完成")print(nums)
# paixue()# 將一個列表逆序輸出。
def nishuzu():nums = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]n = len(nums)while n > 0:print(nums[n-1],end=" ")n -= 1print()print(nums)
# nishuzu()# 打印出楊輝三角形 要求打印出10行
def yanghui():a = list()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-1] + a[i-1][j]for i in range(10):for j in range(i+1):print(a[i][j],end='\t')print()
# yanghui()# 有n個人圍成一圈,順序排號。從第一個人開始報數(從1到3報數),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。
def baoshu3(n):n = [i for i in range(1,n+1)]i = 0while len(n)!=1:n.append(n[0])del n[0]i += 1if i % 2 == 0:print(n[0])del n[0]print(n)
# baoshu3(15)# 海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子平均分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?def houzi_fentao():i = 0j = 1s = 0while i<5:s = 4 * jfor i in range(5):if s%4 != 0:breakelse:i += 1s = s/4*5 + 1j += 1print(s)
# houzi_fentao()# 809*??=800*??+9*?? 其中??代表的兩位數, 809*??為四位數,8*??的結果為兩位數,9*??的結果為3位數。求??代表的兩位數,及809*??后的結果。
def numbertwo_two():for i in range(10,100):if 80<=8*i<100 and 1000<=809*i and 9*i>100:print(i)print(809*i)
# numbertwo_two()# 求0—7所能組成的奇數個數。
def jishu():s = 4i = 4for j in range(1,8):print("%s位數有%s個奇數"%(j,i))if j <= 1:i *= 7else:i *= 8s += iprint("共有%s個"%s)
# jishu()# 輸入一個奇數,然后判斷最少幾個 9 除于該數的結果為整數。
def number_nine(n):s = 9while s%n !=0:s = str(s)s = s[:]+'9's = int(s)s = str(s)l = len(s)print("需要%s個9"%l)
# number_nine(11)# 某個公司采用公用電話傳遞數據,數據是四位的整數,在傳遞過程中是加密的,加密規則如下:每位數字都加上5,然后用和除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換。
def jiami(n):aa = list()aa.append(n%10)aa.append(n//10%10)aa.append(n//100%10)aa.append(n//1000)aa.reverse()print(aa)for i in range(4):aa[i] += 5aa[i] %= 10aa[0],aa[1],aa[2],aa[3]=aa[3],aa[2],aa[1],aa[0]print(aa)# jiami(1234)
總結
以上是生活随笔為你收集整理的python菜鸟100例精选的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 平安信用卡对比 平安车主信用卡VS淘宝联
- 下一篇: 广发信用卡年费多少 年费收取标准汇总