淺談如何編程Python3——Python實例

  • Python Hello World 實例
  • Python 數字求和
  • Python 平方根
  • Python 二次方程
  • Python 計算三角形的面積
  • Python 計算圓的面積
  • Python 隨機數生成
  • Python 攝氏溫度轉華氏溫度
  • Python 交換變量
  • Python if 語句
  • Python 判斷字符串是否爲數字
  • Python 判斷奇數偶數
  • Python 判斷閏年
  • Python 獲取最大值函數
  • Python 質數判斷
  • Python 輸出指定範圍內的素數
  • Python 階乘實例
  • Python 九九乘法表
  • Python 斐波那契數列
  • Python 阿姆斯特朗數
  • Python 十進制轉二進制、八進制、十六進制
  • Python ASCII碼與字符相互轉換
  • Python 最大公約數算法
  • Python 最小公倍數算法
  • Python 簡單計算器實現
  • Python 生成日曆
  • Python 使用遞歸斐波那契數列
  • Python 文件 IO
  • Python 字符串判斷
  • Python 字符串大小寫轉換
  • Python 計算每月天數
  • Python 獲取昨天日期
  • Python list 經常使用操做
  • Python 約瑟夫生者死者小遊戲
  • Python 五人分魚
  • Python 實現秒錶功能
  • Python 計算 n 個天然數的立方和
  • Python 計算數組元素之和
  • Python 數組翻轉指定個數的元素

 

Python Hello World 實例

如下實例爲學習Python的第一個實例,即如何輸出"Hello World!":python

# Filename : helloworld.py # author by : www.runoob.com # 該實例輸出 Hello World! print('Hello World!')

執行以上代碼輸出結果爲:git

Hello World!

Python 數字求和

如下實例爲經過用戶輸入兩個數字,並計算兩個數字之和:算法

# Filename : test.py # author by : www.runoob.com # 用戶輸入數字 num1 = input('輸入第一個數字:') num2 = input('輸入第二個數字:') # 求和 sum = float(num1) + float(num2) # 顯示計算結果 print('數字 {0} 和 {1} 相加結果爲: {2}'.format(num1, num2, sum))

執行以上代碼輸出結果爲:api

輸入第一個數字:1.5 輸入第二個數字:2.5 數字 1.52.5 相加結果爲: 4.0

Python 平方根

平方根,又叫二次方根,表示爲〔√ ̄〕,如:數學語言爲:√ ̄16=4。語言描述爲:根號下16=4。數組

如下實例爲經過用戶輸入一個數字,並計算這個數字的平方根:dom

# Filename : test.py # author by : www.runoob.com num = float(input('請輸入一個數字: ')) num_sqrt = num ** 0.5 print(' %0.3f 的平方根爲 %0.3f'%(num ,num_sqrt))

執行以上代碼輸出結果爲:ide

$ python test.py 請輸入一個數字: 4
 4.000 的平方根爲 2.000

Python 二次方程

如下實例爲經過用戶輸入數字,並計算二次方程:函數

# 二次方程式 ax**2 + bx + c = 0 # a、b、c 用戶提供,爲實數,a ≠ 0 # 導入 cmath(複雜數學運算) 模塊 import cmath a = float(input('輸入 a: ')) b = float(input('輸入 b: ')) c = float(input('輸入 c: ')) # 計算 d = (b**2) - (4*a*c) # 兩種求解方式 sol1 = (-b-cmath.sqrt(d))/(2*a) sol2 = (-b+cmath.sqrt(d))/(2*a) print('結果爲 {0} 和 {1}'.format(sol1,sol2))

執行以上代碼輸出結果爲:學習

$ python test.py 輸入 a: 1 輸入 b: 5 輸入 c: 6 結果爲 (-3+0j) 和 (-2+0j)

該實例中,咱們使用了 cmath (complex math) 模塊的 sqrt() 方法 來計算平方根。測試


Python 計算三角形的面積

# Filename : test.py # author by : www.runoob.com a = float(input('輸入三角形第一邊長: ')) b = float(input('輸入三角形第二邊長: ')) c = float(input('輸入三角形第三邊長: ')) # 計算半周長 s = (a + b + c) / 2 # 計算面積 area = (s*(s-a)*(s-b)*(s-c)) ** 0.5 print('三角形面積爲 %0.2f' %area)

執行以上代碼輸出結果爲:

$ python test.py 輸入三角形第一邊長: 5 輸入三角形第二邊長: 6 輸入三角形第三邊長: 7 三角形面積爲 14.70

Python 計算圓的面積

圓的面積公式爲 :

公式中 r 爲圓的半徑。

# 定義一個方法來計算圓的面積 def findArea(r): PI = 3.142
    return PI * (r*r) # 調用方法 print("圓的面積爲 %.6f" % findArea(5))

以上實例輸出結果爲:

圓的面積爲 78.550000

Python 隨機數生成

如下實例演示瞭如何生成一個隨機數:

 # Filename : test.py # author by : www.runoob.com # 生成 0 ~ 9 之間的隨機數 # 導入 random(隨機數) 模塊 import random print(random.randint(0,9))

執行以上代碼輸出結果爲:4

以上實例咱們使用了 random 模塊的 randint() 函數來生成隨機數,你每次執行後都返回不一樣的數字(0 到 9),該函數的語法爲:

random.randint(a,b)

函數返回數字 N ,N 爲 a 到 b 之間的數字(a <= N <= b),包含 a 和 b。


Python 攝氏溫度轉華氏溫度

如下實例演示瞭如何將攝氏溫度轉華氏溫度:

# Filename : test.py # author by : www.runoob.com # 用戶輸入攝氏溫度 # 接收用戶輸入 celsius = float(input('輸入攝氏溫度: ')) # 計算華氏溫度 fahrenheit = (celsius * 1.8) + 32 print('%0.1f 攝氏溫度轉爲華氏溫度爲 %0.1f ' %(celsius,fahrenheit))

執行以上代碼輸出結果爲:

輸入攝氏溫度: 38
38.0 攝氏溫度轉爲華氏溫度爲 100.4

以上實例中,攝氏溫度轉華氏溫度的公式爲 celsius * 1.8 = fahrenheit - 32。因此獲得如下式子:

celsius = (fahrenheit - 32) / 1.8

Python 交換變量

如下實例經過用戶輸入兩個變量,並相互交換:

# Filename : test.py # author by : www.runoob.com # 用戶輸入 x = input('輸入 x 值: ') y = input('輸入 y 值: ') # 建立臨時變量,並交換 temp = x x = y y = temp print('交換後 x 的值爲: {}'.format(x)) print('交換後 y 的值爲: {}'.format(y))

執行以上代碼輸出結果爲:

輸入 x 值: 2 輸入 y 值: 3 交換後 x 的值爲: 3 交換後 y 的值爲: 2

以上實例中,咱們建立了臨時變量 temp ,並將 x 的值存儲在 temp 變量中,接着將 y 值賦給 x,最後將 temp 賦值給 y 變量。


Python if 語句

如下實例經過使用 if...elif...else 語句判斷數字是正數、負數或零:

# 用戶輸入數字 num = float(input("輸入一個數字: ")) if num > 0: print("正數") elif num == 0: print("") else: print("負數")

執行以上代碼輸出結果爲:

輸入一個數字: 3 正數

咱們也可使用內嵌 if 語句來實現:

# 內嵌 if 語句 num = float(input("輸入一個數字: ")) if num >= 0: if num == 0: print("") else: print("正數") else: print("負數")

執行以上代碼輸出結果爲:

輸入一個數字: 0

Python 判斷字符串是否爲數字

如下實例經過建立自定義函數 is_number() 方法來判斷字符串是否爲數字:

# Filename : test.py # author by : www.runoob.com def is_number(s): try: float(s) return True except ValueError: pass try: import unicodedata unicodedata.numeric(s) return True except (TypeError, ValueError): pass return False # 測試字符串和數字 print(is_number('foo')) # False print(is_number('1')) # True print(is_number('1.3')) # True print(is_number('-1.37')) # True print(is_number('1e3')) # True # 測試 Unicode # 阿拉伯語 5 print(is_number('٥')) # True # 泰語 2 print(is_number('')) # True # 中文數字 print(is_number('')) # True # 版權號 print(is_number('©'))  # False

咱們也可使用內嵌 if 語句來實現:

執行以上代碼輸出結果爲:

False True True True True True True True False

Python 判斷奇數偶數

下實例用於判斷一個數字是否爲奇數或偶數:

# Python 判斷奇數偶數 # 若是是偶數除於 2 餘數爲 0 # 若是餘數爲 1 則爲奇數 num = int(input("輸入一個數字: ")) if (num % 2) == 0: print("{0} 是偶數".format(num)) else: print("{0} 是奇數".format(num))

咱們也可使用內嵌 if 語句來實現:

執行以上代碼輸出結果爲:

輸入一個數字: 3
3 是奇數

Python 判斷閏年

如下實例用於判斷用戶輸入的年份是否爲閏年:

year = int(input("輸入一個年份: ")) if (year % 4) == 0: if (year % 100) == 0: if (year % 400) == 0: print("{0} 是閏年".format(year)) # 整百年能被400整除的是閏年 else: print("{0} 不是閏年".format(year)) else: print("{0} 是閏年".format(year)) # 非整百年能被4整除的爲閏年 else: print("{0} 不是閏年".format(year))

咱們也可使用內嵌 if 語句來實現:

執行以上代碼輸出結果爲:

輸入一個年份: 2000
2000 是閏年 輸入一個年份: 2011
2011 不是閏年

Python 獲取最大值函數

如下實例中咱們使用max()方法求最大值:

# 最簡單的 print(max(1, 2)) print(max('a', 'b')) # 也能夠對列表和元組使用 print(max([1,2])) print(max((1,2))) # 更多實例 print("80, 100, 1000 最大值爲: ", max(80, 100, 1000)) print("-20, 100, 400最大值爲: ", max(-20, 100, 400)) print("-80, -20, -10最大值爲: ", max(-80, -20, -10)) print("0, 100, -400最大值爲:", max(0, 100, -400))

執行以上代碼輸出結果爲:

2 b 2
2
80, 100, 1000 最大值爲:  1000
-20, 100, 400最大值爲:  400
-80, -20, -10最大值爲:  -10
0, 100, -400最大值爲: 100

Python 質數判斷

一個大於1的天然數,除了1和它自己外,不能被其餘天然數(質數)整除(2, 3, 5, 7等),換句話說就是該數除了1和它自己之外再也不有其餘的因數。

# Python 程序用於檢測用戶輸入的數字是否爲質數 # 用戶輸入數字 num = int(input("請輸入一個數字: ")) # 質數大於 1
if num > 1: # 查看因子 for i in range(2,num): if (num % i) == 0: print(num,"不是質數") print(i,"乘於",num//i,"是",num)
           break
   else: print(num,"是質數") # 若是輸入的數字小於或等於 1,不是質數 else:

執行以上代碼輸出結果爲:

$ python3 test.py 請輸入一個數字: 1
1 不是質數 $ python3 test.py 請輸入一個數字: 4
4 不是質數 2 乘於 24 $ python3 test.py 請輸入一個數字: 5
5 是質數

Python 輸出指定範圍內的素數

素數(prime number)又稱質數,有無限個。除了1和它自己之外再也不被其餘的除數整除。

如下實例能夠輸出指定範圍內的素數:

# 輸出指定範圍內的素數 # take input from the user lower = int(input("輸入區間最小值: ")) upper = int(input("輸入區間最大值: ")) for num in range(lower,upper + 1): # 素數大於 1
    if num > 1: for i in range(2,num): if (num % i) == 0: break
        else: print(num)

執行以上程序,輸出結果爲:

$ python3 test.py 輸入區間最小值: 1 輸入區間最大值: 100
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97

Python 階乘實例

整數的階乘(英語:factorial)是全部小於及等於該數的正整數的積,0的階乘爲1。即:n!=1×2×3×...×n。

# Filename : test.py # author by : www.runoob.com # 經過用戶輸入數字計算階乘 # 獲取用戶輸入的數字 num = int(input("請輸入一個數字: ")) factorial = 1 # 查看數字是負數,0 或 正數 if num < 0: print("抱歉,負數沒有階乘") elif num == 0: print("0 的階乘爲 1") else: for i in range(1,num + 1): factorial = factorial*i print("%d 的階乘爲 %d" %(num,factorial))

執行以上代碼輸出結果爲:

請輸入一個數字: 3
3 的階乘爲 6

Python 九九乘法表

如下實例演示瞭如何實現九九乘法表:

 # Filename : test.py # author by : www.runoob.com # 九九乘法表 for i in range(1, 10): for j in range(1, i+1): print('{}x{}={}\t'.format(j, i, i*j), end='') print()

執行以上代碼輸出結果爲:

1x1=1 1x2=2    2x2=4 1x3=3    2x3=6    3x3=9 1x4=4    2x4=8    3x4=12    4x4=16 1x5=5    2x5=10    3x5=15    4x5=20    5x5=25 1x6=6    2x6=12    3x6=18    4x6=24    5x6=30    6x6=36 1x7=7    2x7=14    3x7=21    4x7=28    5x7=35    6x7=42    7x7=49 1x8=8    2x8=16    3x8=24    4x8=32    5x8=40    6x8=48    7x8=56    8x8=64 1x9=9    2x9=18    3x9=27    4x9=36    5x9=45    6x9=54    7x9=63    8x9=72    9x9=81

過指定end參數的值,能夠取消在末尾輸出回車符,實現不換行。


Python 斐波那契數列

斐波那契數列指的是這樣一個數列 0, 1, 1, 2, 3, 5, 8, 13,特別指出:第0項是0,第1項是第一個1。從第三項開始,每一項都等於前兩項之和。

Python 實現斐波那契數列代碼以下:

# Filename : test.py # author by : www.runoob.com # Python 斐波那契數列實現 # 獲取用戶輸入數據 nterms = int(input("你須要幾項?")) # 第一和第二項 n1 = 0 n2 = 1 count = 2 # 判斷輸入的值是否合法 if nterms <= 0: print("請輸入一個正整數。") elif nterms == 1: print("斐波那契數列:") print(n1) else: print("斐波那契數列:") print(n1,",",n2,end=" , ") while count < nterms: nth = n1 + n2 print(nth,end=" , ") # 更新值 n1 = n2 n2 = nth count += 1

執行以上代碼輸出結果爲:

你須要幾項? 10 斐波那契數列: 0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 ,

 


Python 阿姆斯特朗數

若是一個n位正整數等於其各位數字的n次方之和,則稱該數爲阿姆斯特朗數。 例如1^3 + 5^3 + 3^3 = 153。

1000之內的阿姆斯特朗數: 1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407。

如下代碼用於檢測用戶輸入的數字是否爲阿姆斯特朗數:

# Python 檢測用戶輸入的數字是否爲阿姆斯特朗數 # 獲取用戶輸入的數字 num = int(input("請輸入一個數字: ")) # 初始化變量 sum sum = 0 # 指數 n = len(str(num)) # 檢測 temp = num while temp > 0: digit = temp % 10 sum += digit ** n temp //= 10
 # 輸出結果 if num == sum: print(num,"是阿姆斯特朗數") else: print(num,"不是阿姆斯特朗數")

執行以上代碼輸出結果爲:

$ python3 test.py 請輸入一個數字: 345
345 不是阿姆斯特朗數 $ python3 test.py 請輸入一個數字: 153
153 是阿姆斯特朗數 $ python3 test.py 請輸入一個數字: 1634
1634 是阿姆斯特朗數

獲取指按期間內的阿姆斯特朗數

# 獲取用戶輸入數字 lower = int(input("最小值: ")) upper = int(input("最大值: ")) for num in range(lower,upper + 1): # 初始化 sum sum = 0 # 指數 n = len(str(num)) # 檢測 temp = num while temp > 0: digit = temp % 10 sum += digit ** n temp //= 10
 
   if num == sum: print(num)

執行以上代碼輸出結果爲:

最小值: 1 最大值: 10000
1
2
3
4
5
6
7
8
9
153
370
371
407
1634
8208
9474

以上實例中咱們輸出了 1 到 10000 之間的阿姆斯特朗數。


 

Python 十進制轉二進制、八進制、十六進制

如下代碼用於實現十進制轉二進制、八進制、十六進制:

# Filename : test.py # author by : www.runoob.com # 獲取用戶輸入十進制數 dec = int(input("輸入數字:")) print("十進制數爲:", dec) print("轉換爲二進制爲:", bin(dec)) print("轉換爲八進制爲:", oct(dec)) print("轉換爲十六進制爲:", hex(dec))

執行以上代碼輸出結果爲:

python3 test.py 輸入數字:5 十進制數爲:5 轉換爲二進制爲: 0b101 轉換爲八進制爲: 0o5 轉換爲十六進制爲: 0x5 python3 test.py 輸入數字:12 十進制數爲:12 轉換爲二進制爲: 0b1100 轉換爲八進制爲: 0o14 轉換爲十六進制爲: 0xc

Python ASCII碼與字符相互轉換

# 用戶輸入字符 c = input("請輸入一個字符: ") # 用戶輸入ASCII碼,並將輸入的數字轉爲整型 a = int(input("請輸入一個ASCII碼: ")) print( c + " 的ASCII 碼爲", ord(c)) print( a , " 對應的字符爲", chr(a))

執行以上代碼輸出結果爲:

python3 test.py 請輸入一個字符: a 請輸入一個ASCII碼: 101 a 的ASCII 碼爲 97
101  對應的字符爲 e

Python 最大公約數算法

如下代碼用於實現最大公約數算法:

# 定義一個函數 def hcf(x, y): """該函數返回兩個數的最大公約數""" # 獲取最小值 if x > y: smaller = y else: smaller = x for i in range(1,smaller + 1): if((x % i == 0) and (y % i == 0)): hcf = i return hcf # 用戶輸入兩個數字 num1 = int(input("輸入第一個數字: ")) num2 = int(input("輸入第二個數字: ")) print( num1,"", num2,"的最大公約數爲", hcf(num1, num2))

執行以上代碼輸出結果爲:

輸入第一個數字: 54 輸入第二個數字: 24
5424 的最大公約數爲 6

Python 最小公倍數算法

如下代碼用於實現最小公倍數算法:

# 定義函數 def lcm(x, y): # 獲取最大的數 if x > y: greater = x else: greater = y while(True): if((greater % x == 0) and (greater % y == 0)): lcm = greater break greater += 1
 
   return lcm # 獲取用戶輸入 num1 = int(input("輸入第一個數字: ")) num2 = int(input("輸入第二個數字: ")) print( num1,"", num2,"的最小公倍數爲", lcm(num1, num2))

執行以上代碼輸出結果爲:

輸入第一個數字: 54 輸入第二個數字: 24
5424 的最小公倍數爲 216

Python 簡單計算器實現

如下代碼用於實現簡單計算器實現,包括兩個數基本的加減乘除運輸:

# 定義函數 def add(x, y): """相加"""
 
   return x + y def subtract(x, y): """相減"""
 
   return x - y def multiply(x, y): """相乘"""
 
   return x * y def divide(x, y): """相除"""
 
   return x / y # 用戶輸入 print("選擇運算:") print("一、相加") print("二、相減") print("三、相乘") print("四、相除") choice = input("輸入你的選擇(1/2/3/4):") num1 = int(input("輸入第一個數字: ")) num2 = int(input("輸入第二個數字: ")) if choice == '1': print(num1,"+",num2,"=", add(num1,num2)) elif choice == '2': print(num1,"-",num2,"=", subtract(num1,num2)) elif choice == '3': print(num1,"*",num2,"=", multiply(num1,num2)) elif choice == '4': print(num1,"/",num2,"=", divide(num1,num2)) else: print("非法輸入")

執行以上代碼輸出結果爲:

選擇運算: 1、相加 2、相減 3、相乘 4、相除 輸入你的選擇(1/2/3/4):2 輸入第一個數字: 5 輸入第二個數字: 2
5 - 2 = 3

Python 生成日曆

如下代碼用於生成指定日期的日曆:

# 引入日曆模塊 import calendar # 輸入指定年月 yy = int(input("輸入年份: ")) mm = int(input("輸入月份: ")) # 顯示日曆 print(calendar.month(yy,mm))
輸入年份: 2015 輸入月份: 6 June 2015 Mo Tu We Th Fr Sa Su 1  2  3  4  5  6  7
 8  9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

Python 使用遞歸斐波那契數列

如下代碼使用遞歸的方式來生成斐波那契數列:

def recur_fibo(n): """遞歸函數
   輸出斐波那契數列"""    if n <= 1: return n else: return(recur_fibo(n-1) + recur_fibo(n-2)) # 獲取用戶輸入 nterms = int(input("您要輸出幾項? ")) # 檢查輸入的數字是否正確 if nterms <= 0: print("輸入正數") else: print("斐波那契數列:") for i in range(nterms): print(recur_fibo(i))

執行以上代碼輸出結果爲:

您要輸出幾項? 10 斐波那契數列: 0
1
1
2
3
5
8
13
21
34

Python 文件 IO

如下代碼演示了Python基本的文件操做,包括 open,read,write:

# 寫文件 with open("test.txt", "wt") as out_file: out_file.write("該文本會寫入到文件中\n看到我了吧!") # Read a file with open("test.txt", "rt") as in_file: text = in_file.read() print(text)

執行以上代碼輸出結果爲:

該文本會寫入到文件中 看到我了吧!

Python 字符串判斷

如下代碼演示了Python字符串的判斷:

# 測試實例一 print("測試實例一") str = "runoob.com" print(str.isalnum()) # 判斷全部字符都是數字或者字母 print(str.isalpha()) # 判斷全部字符都是字母 print(str.isdigit()) # 判斷全部字符都是數字 print(str.islower()) # 判斷全部字符都是小寫 print(str.isupper()) # 判斷全部字符都是大寫 print(str.istitle()) # 判斷全部單詞都是首字母大寫,像標題 print(str.isspace()) # 判斷全部字符都是空白字符、\t、\n、\r print("------------------------") # 測試實例二 print("測試實例二") str = "runoob" print(str.isalnum()) print(str.isalpha()) print(str.isdigit()) print(str.islower()) print(str.isupper()) print(str.istitle()) print(str.isspace())

執行以上代碼輸出結果爲:

測試實例一 False False False True False False False ------------------------ 測試實例二 True True False True False False

Python 字符串大小寫轉換

如下代碼演示瞭如何將字符串轉換爲大寫字母,或者將字符串轉爲小寫字母等:

str = "www.runoob.com" print(str.upper()) # 把全部字符中的小寫字母轉換成大寫字母 print(str.lower()) # 把全部字符中的大寫字母轉換成小寫字母 print(str.capitalize()) # 把第一個字母轉化爲大寫字母,其他小寫 print(str.title()) # 把每一個單詞的第一個字母轉化爲大寫,其他小寫 

執行以上代碼輸出結果爲:

WWW.RUNOOB.COM www.runoob.com Www.runoob.com Www.Runoob.Com

Python 計算每月天數

如下代碼經過導入 calendar 模塊來計算每月的天數:

 import calendar monthRange = calendar.monthrange(2016,9) print(monthRange)

執行以上代碼輸出結果爲:

(3, 30)

輸出的是一個元組,第一個元素是所查月份的第一天對應的是星期幾(0-6),第二個元素是這個月的天數。以上實例輸出的意思爲 2016 年 9 月份的第一天是星期四,該月總共有 30 天。


Python 獲取昨天日期

如下代碼經過導入 datetime 模塊來獲取昨天的日期:

# 引入 datetime 模塊 import datetime def getYesterday(): today=datetime.date.today() oneday=datetime.timedelta(days=1) yesterday=today-oneday return yesterday # 輸出 print(getYesterday())

執行以上代碼輸出結果爲:

2015-06-10

以上實例輸出的意思爲昨天的日期是 2015 年 6 月 10 日。


Python 約瑟夫生者死者小遊戲

30 我的在一條船上,超載,須要 15 人下船。

因而人們排成一隊,排隊的位置即爲他們的編號。

報數,從 1 開始,數到 9 的人下船。

如此循環,直到船上僅剩 15 人爲止,問都有哪些編號的人下船了呢?

people={} for x in range(1,31): people[x]=1 # print(people) check=0 i=1 j=0
while i<=31: if i == 31: i=1 elif j == 15: break
    else: if people[i] == 0: i+=1
            continue
        else: check+=1
            if check == 9: people[i]=0 check = 0 print("{}號下船了".format(i)) j+=1
            else: i+=1
                continue

執行以上實例,輸出結果爲:

9號下船了 18號下船了 27號下船了 6號下船了 16號下船了 26號下船了 7號下船了 19號下船了 30號下船了 12號下船了 24號下船了 8號下船了 22號下船了 5號下船了 23號下船了

Python 五人分魚

A、B、C、D、E 五人在某天夜裏合夥去捕魚,到次日凌晨時都疲憊不堪,因而各自找地方睡覺。

日上三杆,A 第一個醒來,他將魚分爲五份,把多餘的一條魚扔掉,拿走本身的一份。

B 第二個醒來,也將魚分爲五份,把多餘的一條魚扔掉拿走本身的一份。 。

C、D、E依次醒來,也按一樣的方法拿魚。

問他們臺夥至少捕了多少條魚?

def main(): fish = 1
    while True: total, enough = fish, True for _ in range(5): if (total - 1) % 5 == 0: total = (total - 1)  // 5 * 4
            else: enough = False break
        if enough: print(f'總共有{fish}條魚') break fish += 1


if __name__ == '__main__': main()

運行結果:

總共有3121條魚

Python 實現秒錶功能

如下實例使用 time 模塊來實現秒錶功能:

import time print('按下回車開始計時,按下 Ctrl + C 中止計時。') while True: input("") # 若是是 python 2.x 版本請使用 raw_input() starttime = time.time() print('開始') try: while True: print('計時: ', round(time.time() - starttime, 0), '', end="\r") time.sleep(1) except KeyboardInterrupt: print('結束') endtime = time.time() print('總共的時間爲:', round(endtime - starttime, 2),'secs') break

測試結果爲:

按下回車開始計時,按下 Ctrl + C 中止計時。 開始 計時: 3.0 秒 計時: 5.0^C結束 6.0 秒 總共的時間爲: 6.69 secs

Python 計算 n 個天然數的立方和

計算公式 13 + 23 + 33 + 43 + …….+ n3

實現要求:

輸入 : n = 5

輸出 : 225

公式 : 13 + 23 + 33 + 43 + 53 = 225

 

輸入 : n = 7

輸入 : 784

公式 : 13 + 23 + 33 + 43 + 53 + 63 + 73 = 784

# 定義立方和的函數 def sumOfSeries(n): sum = 0
    for i in range(1, n+1): sum +=i*i*i return sum # 調用函數 n = 5 print(sumOfSeries(n))

以上實例輸出結果爲:

225

Python 計算數組元素之和

定義一個整型數組,並計算元素之和。

實現要求:

輸入 : arr[] = {1, 2, 3}

輸出 : 6

計算: 1 + 2 + 3 = 6

# 定義函數,arr 爲數組,n 爲數組長度,可做爲備用參數,這裏沒有用到 def _sum(arr,n): # 使用內置的 sum 函數計算 return(sum(arr)) # 調用函數 arr=[] # 數組元素 arr = [12, 3, 4, 15] # 計算數組元素的長度 n = len(arr) ans = _sum(arr,n) # 輸出結果 print ('數組元素之和爲',ans)

以上實例輸出結果爲:

數組元素之和爲 34

Python 數組翻轉指定個數的元素

定義一個整型數組,並將指定個數的元素翻轉到數組的尾部。

例如:(ar[], d, n) 將長度爲 n 的 數組 arr 的前面 d 個元素翻轉到數組尾部。

如下演示了將數組的前面兩個元素放到數組後面。

原始數組:

翻轉後:

def leftRotate(arr, d, n): for i in range(d): leftRotatebyOne(arr, n) def leftRotatebyOne(arr, n): temp = arr[0] for i in range(n-1): arr[i] = arr[i+1] arr[n-1] = temp def printArray(arr,size): for i in range(size): print ("%d"% arr[i],end=" ") arr = [1, 2, 3, 4, 5, 6, 7] leftRotate(arr, 2, 7) printArray(arr, 7)

以上實例輸出結果爲:

3 4 5 6 7 1 2
相關文章
相關標籤/搜索