1. 程式人生 > >Python基礎習題(一)

Python基礎習題(一)

1、有1、2、3、4四個數字,能組成多少個互不相同且無重複數字的三位數?分別是多少?

#先定義一個判斷一個三位數是否符合條件的函式
def isMynumber(n):
    a=int(n%10)
    b=int(n/10%10)
    c=int(n/100)
    if(a==b)or(b==c)or(c==a):
        return False
    else:
        return True

count=0
#百位數
for i in range(1,5):
    #十位數
    for j in range(1,5):
        #個位數
        for
k in range(1,5): number=i*100+j*10+k if isMynumber(number): count=count+1 print("發現一個符合條件的數:"+str(number)) else: print(str(number)+"不符合條件!") print("總共有"+str(count)+"個符合條件的數字。")

注:如果a,b,c不強制為int,會作為float資料影響條件判斷。

#僅對於這道題,也可以使用更直接一些的方法
#設定計數器 count=0 #百位數 for i in range(1,5): #十位數 for j in range(1,5): if i==j: continue #個位數 for k in range(1,5): if k==i or k==j: continue number=i*100+j*10+k count=count+1 print("找到一個符合條件的數:"+str(number
)) print("總共有"+str(count)+"個符合條件的數字。")

2、一個整數,加上100後是一個完全平方數,再加上168又是一個完全平方數,這個數為多少。

#一個整數加上100後是一個完全平方數,再加上168又是一個完全平方數,這個數為多少
import math
#先定義一個判斷是否為完全平方數的函式
def isWp(n):
    m=int(math.sqrt(n))
    if n==m*m:
        return True
    else:
        return False
#只找一萬以內
for i in range(10000):
    x=i+100
    y=x+168
    if isWp(x) and isWp(y):
        print("這個數是:"+str(i))
        print(math.sqrt(x),math.sqrt(y))

3、輸入某年某月某日,判斷這一天是這一年的第幾天

#輸入某年某月某日,判斷這一天是這一年的第幾天
"""思路
1、定義一個判斷年份是否為閏年的函式
2、如果年份為閏年,月份小於等於2,則正常計算
3、如果年份為閏年,月份大於2,則閏年天數須加1
"""
#判斷閏年的函式
def isLeapyear(year):
    if year%400==0 or(year%4==0 and year%100!=0):
        return True
    else:
        return False
#提示輸入年月日
year=int(input("請輸入要判斷的年份:"))
month=int(input("請輸入要判斷的月份:"))
date=int(input("請輸入要判斷的日期:"))
#設定一個固定月天數的元組,設定初始統計值
days_count=0
days=(31,28,31,30,31,30,31,31,30,31,30,31)
for i in range(month):
    days_count=days_count+days[i]
#如果年份為閏年,月份小於等於2,則正常計算
if isLeapyear(year) and month<=2:
    days_count=days_count+1
print("這一天是"+str(year)+"年的第"+str(days_count)+"天。")

基礎不牢固,在提示輸入程式碼時忘記資料型別需要轉換導致執行報錯。

4、輸入三個整數x,y,z,請把這三個數由小到大輸出

#輸入三個整數x,y,z,請把這三個數由小到大輸出
x=int(input("請輸入x的數值:"))
y=int(input("請輸入y的數值:"))
z=int(input("請輸入z的數值:"))
if x<y<z:
    print("從小到大排序分別是x:"+str(x)+"-y:"+str(y)+"-z:"+str(z))
elif x<z<y:
    print("從小到大排序分別是x:"+str(x)+"-z:"+str(z)+"-y:"+str(y))
elif y<x<z:
    print("從小到大排序分別是y:"+str(y)+"-x:"+str(x)+"-z:"+str(z))
elif y<z<x:
    print("從小到大排序分別是y:"+str(y)+"-z:"+str(z)+"-x:"+str(x))
elif z<x<y:
    print("從小到大排序分別是z:"+str(z)+"-x:"+str(x)+"-y:"+str(y))
elif z<y<x:
    print("從小到大排序分別是z:"+str(y)+"-y:"+str(z)+"-x:"+str(x))

5、輸出9*9乘法表

#輸出9*9乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(str(j)+"*"+str(i)+"="+str(i*j),end=" ")
        if i*j<10:
            print(" ",end="")
    print()

6、判斷101-200之間有多少素數,並輸出

#判斷101-200之間有多少素數,並輸出
import math
def isPrime(n):
    if n<2:
        return False
    elif n==2:
        return True
    else:
        m=int(math.sqrt(n))
        for i in range(2,m+1):
            if n%i==0:
                return False
        return True
for i in range(101,201):
    if isPrime(i):
        print(i,end=" ")

7、打印出所有的“水仙花數”,所謂的水仙花數是指一個三位數,其各位數字立方和等於該數本身.如153。

"""打印出所有的“水仙花數”,所謂的水仙花數是指一個三位數,
其各位數字立方和等於該數本身.如153。
"""
def isSxh(n):
    if n<100 or n>999:
        return False
    else:
        b=int(n/100)
        s=int(n/10%10)
        g=int(n%10)
        if ((b*b*b+s*s*s+g*g*g)==n):
            return True
        else:
            return False
for i in range(100,1000):
    if isSxh(i):
        print(i,end=" ")

8、將一個正整數分解質因數,例如:輸入90,打印出90=2×3×3×5。

#將一個正整數分解質因數,例如:輸入90,打印出90=2×3×3×5。
import math
def isPrime(n):
    if n<2:
        return False
    elif n==2:
        return True
    else:
        m=int(math.sqrt(n))
        for i in range(2,m+1):
            if n%i==0:
                return False
        return True
"""
使用遞迴演算法,每次都找出最小的質因數
然後迴圈呼叫
"""
def printNumber(n):
    if isPrime(n):
        print(n,end="")
    else:
        for i in range(1,n+1):
            if isPrime(i) and n%i==0:
                print(str(i)+"*",end="")
                printNumber(int(n/i))
                break
number=int(input("請輸入一個正整數:"))
print(str(number)+"=",end="")
printNumber(number)

相關推薦

Python基礎習題

1、有1、2、3、4四個數字,能組成多少個互不相同且無重複數字的三位數?分別是多少? #先定義一個判斷一個三位數是否符合條件的函式 def isMynumber(n): a=int(n%10) b=int(n/10%10) c=in

Python基礎學習

func exe function 學習 typeerror exit invalid min eas #Default Argument Values & in keyworddef ask_ok(prompt, retres=4, reminder=‘pleas

python基礎筆記

val 變量 下劃線 .py 字母 pass 變量名 del 交互 python解釋器執行python程序的過程:python3 C:\test.py 1.啟動python解釋器(內存中) 2.將C:\test.py 內容從硬盤讀入內存(這一步與文本編輯器是一樣的) 3.執

python基礎整理

sci 可變 python break job continue ont mat con 1、字符編碼: ASCIl碼 255個 每個字符一個字節, Unicode 每個字符兩個字節, UTF8 可變長的Unicode編碼,英文一個字節,中文三個字節。 2、格式化字

python基礎教程

底層 技術分享 包括 什麽事 inpu 內容 很多 運算 下劃線   之所以選擇py交易有以下幾點:1、python是膠水語言(跨平臺),2、python無所不能(除了底層),3、python編寫方便(notepad++等文本編輯器就能搞事情),4、滲透方面很多腳本都是py

Python基礎例子

wan raise -- ase pri prime pam 如果 cci 編碼風格 使用 4 空格縮進,而非 TAB 在小縮進(可以嵌套更深)和大縮進(更易讀)之間,4空格是一個很好的折中。TAB 引發了一些混亂,最好棄用 折行以確保其不會超過 79 個字符 這有

Python基礎知識 初識Python

快捷 err ogl 熱門 HR 會有 社區 小型 palm Python簡介 一、Python介紹 Python(英國發音:/?pa?θ?n/ 美國發音:/?pa?θɑ?n/),是一種廣泛使用的高級編程語言,屬於通用型編程語言,由吉多·範羅蘇姆創造,第一版發布於1

Python基礎語法

基礎 分享 AR .com pycha 安裝 python2.x ima 網上 Python2.x和3.x的區別簡單介紹: 編寫Python程序的幾種方式: 第一種: ctrl+d也可以退出交互式終端 第二種方式: exit()和ctrl+d都能退出

python基礎練習題

的區別 註意 需求 color 劃線 print nbsp 用戶 一個個 1、執行 Python 腳本的兩種方式 python進入解釋器 python 1.py 2、簡述位、字節的關系 8位是一個字節 3、簡述 ascii、unicode、utf-8、gb

python基礎學習--資料型別

Python一個 高階語言         2017-09-19 1.1  Python背景簡介(感謝偉大的廖雪峰大佬帶我們走上一條光頭路,嘿嘿) 寫了大半年Python程式碼,感覺收穫不是很大,都是現學現賣,沒有系統的瞭解過這個語言究竟是什麼樣的,從

python基礎複習

判斷資料型別:type(object) 常見函式 絕對值:abs(-1.2)= 1.2 四捨五入:round(1.234,2)= 1.23 冪函式:pow(2,3)= 8     #   2的3次方 math模組 >

Python基礎習題

9、一個數如果恰好等於其因子之和,則稱為完數,如6=1+2+3。找出1000以內所有完數。 #一個數如果恰好等於其因子之和,則稱為完數,如6=1+2+3。找出1000以內所有完數。 """ 思路:1、利用迴圈,依次查詢數值的因數 2、同時對其因數求和,當因

python 基礎基本資料型別的宣告和定義

     最近對python比較感興趣:所以試著先學習了一下基礎部分;順便寫一下大致感受:至於python的環境變數以及開發工具IDE就不多做解釋; helloWord print("helloWord"); python 註釋:

【001】Python全棧日記-Python基礎

一、為什麼需要Python 如果你要用計算機做很多工作,最後你會發現有一些任務你更希望用自動化的方式進行處理。比如,你想要在大量的文字檔案中執行查詢/替換,或者以複雜的方式對大量的圖片進行重新命名和整理。也許你想要編寫一個小型的自定義資料庫、一個特殊的 GUI 應用程式或一個簡單的小遊戲。

Python基礎學習Python的概述與環境安裝

Python介紹 Python語言介紹 Python是一門高階的、面向物件的、解釋性、指令碼語言。 高階語言:貼近開發者,對應底層語言,底層語言貼近機器;java、C#、php 、ruby 面向物件對應於面向過程,是開發人員在開發過程當中的思路,是程式設計師的世界觀 解釋性對應於編譯性語言。 解釋

python 基礎學習

一. is 與 == 的區別 Python中物件包含的三個基本要素,分別是:id(身份標識)、type(資料型別)和value(值) is 比較id == 比較值 注意: 假設 a 與 b 值相等 若資料為  數值型或字串型時,a is b 是 true 若資料為  t

Python基礎案例

     早就有耳聞Python是多麼多麼的強大了,滿懷一顆好奇心去研究研究,初學幾天,果然不出所料,Python很強大,相對java,C#  等來說也比較簡單,於是在學習中做了點總結,歡迎評論區留言

python初步——基礎總結

python 自動化運維一. 第一個HelloWorld 1. 在linux 執行 (python2.7)[[email protected]/* */ ~]# vim test.py #!/usr/bin/env python

Python基礎知識

post 練習 初學 查看 http 變量 規則 style python程序 首先,對於初學者在一個項目中設置多個程序可以執行,是非常方便的,可以方便對不同知識點的練習和測試 對於商業項目而言,通常在一個項目中,只有一個可以執行的Python程序 一、註釋 為了提高可讀性

Python——Bumpy基礎知識

一、Numpy的引入 1、標準的Python 中用列表(list)儲存一組值,可以當作陣列使用。但由於列表的元素可以是任何物件,因此列表中儲存的是物件的指標。對於數值運算來說,這種結構顯然比較浪費記憶體和CPU 計算 2、雖然Python 提供了array 模組,它和列表不同,能直接儲存數值,但