python基礎小白題

題目1:有1、2、3、4四個數,能組成多少個互不相同且無重復的三位數?都是多少?

list_num=[1,2,3,4]

all_num=[]

for i in list_num:

? ? for j in list_num:

? ? ? ? for k in list_num :

? ? ? ? ? ? if (i!=j) and (i!=k) and (j!=k):

? ? ? ? ? ? ? ? num=i*100+j*10+k

? ? ? ? ? ? ? ? all_num.append(num)

print(all_num)?

print('A total of %d numbers.' %len(all_num))

題目2:企業發放的獎金根據利潤提成。

? ? 低于或等于10萬元時,獎金可提成10%;

? ? 高于10萬元,低于20萬元時,低于10萬元的部分按10%提成,高于10萬元的部分,可提成7.5%;

? ? 20萬到40萬之間時,高于20萬元的部分可提成5%;

? ? 40萬到60萬之間時,高于40萬元的部分,可提成3%;

? ? 60萬到100萬之間時,高于60萬的部分,可提成1.5%;

? ? 超過100萬元的部分按1%提成;

? ? 從鍵盤輸入當月利潤,求應發獎金總數。

while True:

? ? num=input('請輸入利潤:').strip()

? ? if num.isdigit():

? ? ? ? pass

? ? else :

? ? ? ? print('輸入的利潤必須為數字')?

? ? ? ? continue

? ? num=int(num) ? ?#轉換為整數類型

? ? if num > 1000000 :

? ? ? ? profit = (num-1000000)*0.01 + 400000*0.015 + 200000 *0.03 + 200000*0.05 + 100000*0.075 + 100000*0.1

? ? ? ? break

? ? elif num > 600000 :

? ? ? ? profit = (num-400000)*0.015 + 200000 *0.03 + 200000*0.05 + 100000*0.075 + 100000*0.1?

? ? ? ? break

? ? elif num > 400000 :

? ? ? ? profit = (num-200000) *0.03 + 200000*0.05 + 100000*0.075 + 100000*0.1

? ? ? ? break

? ? elif num > 200000 :

? ? ? ? profit = (num-200000)*0.05 + 100000*0.075 + 100000*0.1

? ? ? ? break

? ? elif num > 100000 :

? ? ? ? profit = (num-100000)*0.075 + 100000*0.1

? ? ? ? break

? ? else :

? ? ? ? profit = num*0.1

? ? ? ? break

print('應發獎金總數為:%d' %profit)

題目3:一個整數,它加上100后是一個完全平方數。再加上168又是一個完全平方數,問該數是多少。

?

import math

int_num=0

while True:

? ? num1=math.sqrt(int_num+100)

? ? num2=math.sqrt(int_num+168)

? ? if num1==int(num1) and num2 == int(num2):

? ? ? ? break

? ? int_num += 1

print('該整數為 %d' %int_num)

題目4:輸入某年某月某日,判斷這一天是這一年的第幾天。(格式 如:19870604)

?

from builtins import len

leap_year={'01':31,'02':29,'03':31,'04':30,'05':31,'06':30,

? ? ? ? ? ?'07':31,'08':31,'09':30,'10':31,'11':30,'12':31} ? ?#閏年每月最大天數

comm_year={'01':31,'02':28,'03':31,'04':30,'05':31,'06':30,

? ? ? ? ? ?'07':31,'08':31,'09':30,'10':31,'11':30,'12':31} ? ? #平年每月最大天數

while True:

? ? num = input('請輸入日期,格式如19540105:')

? ? if num.isdigit() and len(num)==8 : ? ? ? ? ? ? ? ? ? ? ?

? ? ? ? pass

? ? else :

? ? ? ? print('格式錯誤,請重新輸入')

? ? ? ? continue

? ? year_num=int(num[:4])?

? ? month_num=num[4:6]

? ? day_num=int(num[6:])

? ? if (int(month_num)>12) or (int(month_num)<=0): ? ? #月份錯誤時,重新輸入,'01'字符串轉換為整數時,會舍棄0,無法遍歷字典

? ? ? ? ? ? print('月份輸入錯誤,請重新輸入。')

? ? ? ? ? ? continue

? ? days=0 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #定義天數

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

? ? if ((year_num%100==0) and (year_num%400 == 0)) or ((year_num%100 !=0) and (year_num%4 == 0)): ? #如果是閏年

? ? ? ? if (day_num > leap_year[month_num]) or (day_num <= 0): #日期錯誤時重新輸入

? ? ? ? ? ? print('此月份中沒有這一天,請重新輸入。')

? ? ? ? ? ? continue

? ? ? ? for i in leap_year.keys(): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #遍歷月份

? ? ? ? ? ? if int(i) < int(month_num):

? ? ? ? ? ? ? ? days = days + leap_year[i]

? ? ? ? ? ? elif int(i)==int(month_num):

? ? ? ? ? ? ? ? days = days + day_num

? ? else: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #如果是平年

? ? ? ? if (day_num > comm_year[month_num]) or (day_num <= 0): ?#日期錯誤時重新輸入

? ? ? ? ? ? print('此月份中沒有這一天,請重新輸入。')

? ? ? ? ? ? continue

? ? ? ? for i in comm_year.keys(): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? #遍歷月份

? ? ? ? ? ? if int(i) < int(month_num):

? ? ? ? ? ? ? ? days = days + comm_year[i]

? ? ? ? ? ? elif int(i)==int(month_num):

? ? ? ? ? ? ? ? days = days + day_num

? ? print('這一天是今年的第 %d 天' %days)

? ? break

題目5:輸入三個整數x,y,z,請把這三個數從小到大輸出。

?

def isint(num):

? ? while True:

? ? ? ? a=input('請輸入整數 %s:' %num).strip()

? ? ? ? if a.isdigit() :

? ? ? ? ? ? break

? ? ? ? else:

? ? ? ? ? ? print(' %s 不是整數,請重新輸入' %a)

? ? return a

dic={}

dic['x']=isint('x')

dic['y']=isint('y')

dic['z']=isint('z')

dic=list(dic.values())

dic.sort()

print(dic)

題目6:用*輸出字母c的圖案。

?

list_c=[' ?**** ',' * ? ?*','*','*','*',' * ? ?*',' ?**** ']

for i in list_c:

? ? print(i)

? ? ?

輸出結果:

? ****?

?* ? ?*

*

*

*

?* ? ?*

? ****

題目7:輸出9*9口訣表。

?

for i in range(1,10):

? ? j=1

? ? while j<=i:

? ? ? ? print('%d*%d=%-2d ' % (j,i,(i*j)),end='')

? ? ? ? j +=1

? ? print(end='\n')

輸出結果:

1*1=1 ?

1*2=2 ?2*2=4 ?

1*3=3 ?2*3=6 ?3*3=9 ?

1*4=4 ?2*4=8 ?3*4=12 4*4=16?

1*5=5 ?2*5=10 3*5=15 4*5=20 5*5=25?

1*6=6 ?2*6=12 3*6=18 4*6=24 5*6=30 6*6=36?

1*7=7 ?2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49?

1*8=8 ?2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64?

1*9=9 ?2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

題目8:斐波那契數列。即:0,1,1,2,3,5,8,13。

? 數學定義:F0=0,F1=1,Fn=f(n-1)+F(n-2)

?

def fibonacci_sequence(n):

? ? if n==0:

? ? ? ? return 0

? ? elif n==1:

? ? ? ? return 1

? ? else:

? ? ? ? return fibonacci_sequence(n-1)+fibonacci_sequence(n-2)

num=int(input('請輸入一個整數:'))

for i in range(num):

? ? val=fibonacci_sequence(i)

? ? print('n=%d,Fn=%d ' %(i,val))

輸出結果:

請輸入一個整數:10

n=0,Fn=0?

n=1,Fn=1?

n=2,Fn=1?

n=3,Fn=2?

n=4,Fn=3?

n=5,Fn=5?

n=6,Fn=8?

n=7,Fn=13?

n=8,Fn=21?

n=9,Fn=34

題目9:輸出國際象棋棋盤。

?

a=' '

for i in range(8):

? ? for j in range(8):

? ? ? ? if i%2==0:

? ? ? ? ? ? if j%2==0 :

? ? ? ? ? ? ? ? print('\033[7;37m%s\033[0m' %a,end='')

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? print('\033[7;30m%s\033[0m' %a,end='')

? ? ? ? else:

? ? ? ? ? ? if j%2!=0 :

? ? ? ? ? ? ? ? print('\033[7;37m%s\033[0m' %a,end='')

? ? ? ? ? ? else:

? ? ? ? ? ? ? ? print('\033[7;30m%s\033[0m' %a,end='')

? ? print(end='\n')

輸出結果:

wKioL1i8DYagYYA8AAALeRULEsM081.png-wh_50

題目10:古典問題,有一對兔子,從出生后第三個月起每個月都出生一對兔子,小兔子漲到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少。

?

def rabbit_num(n):

? ? if n==1:

? ? ? ? return 1

? ? elif n==2:

? ? ? ? return 1

? ? else:

? ? ? ? return rabbit_num(n-1)+rabbit_num(n-2)

num=int(input('請輸入一個整數:'))

for i in range(1,num+1):

? ? val=rabbit_num(i)

? ? print('n=%d,Fn=%d ' %(i,val))

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/445643.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/445643.shtml
英文地址,請注明出處:http://en.pswp.cn/news/445643.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python基礎小白題2

題目11&#xff1a;判斷101-200之間有多少個素數&#xff0c;并輸出所有素數。 num[] for i in range(100,201): ji//2 for k in range(2,j): if i%k0: break else: num.append(i) print(一共有%d個素數\n這些素數是&#xff1a; %len(num),num ) 輸出結果&am…

python基礎小白題3

題目021&#xff1a;猴子吃桃問題 猴子第一天摘下若干個桃子&#xff0c;當即吃了一半&#xff0c;還不癮&#xff0c;又多吃了一個 第二天早上又將剩下的桃子吃掉一半&#xff0c;又多吃了一個。 以后每天早上都吃了前一天剩下的一半零一個。 到第10天早上想再吃時&#x…

python基礎小白題4

題目031&#xff1a;請輸入星期幾的第一個字母來判斷一下是星期幾&#xff0c;如果第一個字母一樣&#xff0c;則繼續判斷第二個字母。 def tm031(): 【個人備注】&#xff1a;按照題意要求實現了就行 week [monday,tuesday,wednesday,thursday,friday,saturday,sunday] inp…

python基礎小白題5

題目045&#xff1a;統計 1 到 100 之和。 def tm045(): 【個人備注】&#xff1a;簡單&#xff0c;但官網有人寫的更簡單 s 0 for i in range(1,101): si print(s) # 更簡潔的方法 print(sum(range(1,101))) 題目046&#xff1a;求輸入數字的平方&#xff0c;如果平方運算…

快排-荷蘭國旗

在使用partition-exchange排序算法時&#xff0c;如快速排序算法&#xff0c;我們會遇到一些問題&#xff0c;比如重復元素太多&#xff0c;降低了效率&#xff0c;在每次遞歸中&#xff0c;左邊部分是空的(沒有元素比關鍵元素小)&#xff0c;而右邊部分只能一個一個遞減移動。…

快排-前m大元素

描述 給定一個數組包含n個元素&#xff0c;統計前m大的數并且把這m個數從大到小輸 出。 輸入 第一行包含一個整數n&#xff0c;表示數組的大小。n < 100000。 第二行包含n個整數&#xff0c;表示數組的元素&#xff0c;整數之間以一個空格分開 。每個整數的絕對值不超過…

歸并-求逆序數

考慮1,2,…,n (n < 100000)的排列i1&#xff0c;i2&#xff0c;…&#xff0c;in&#xff0c;如果其中存在j,k&#xff0c;滿足 j < k 且 ij > ik&#xff0c; 那么就稱(ij,ik)是這個排列的一個逆序。 一個排列含有逆序的個數稱為這個排列的逆序數。例如排列 26345…

動態規劃概述

注&#xff1a;第一次看不需要全理解&#xff0c;以后動態規劃做多了&#xff0c;再回來看看&#xff0c;會有更深的理解 先符上其它文章&#xff0c;看完這篇就可以開始看這些咯。 萌新&#xff1a; …

動態規劃-背包是否裝滿

很簡單但是需要特別注意的&#xff0c;一定不要錯。 背包&#xff1a; 有n 種不同的物品&#xff0c;每個物品有兩個屬性&#xff0c;v體積&#xff0c;c價值&#xff0c;現在給一個體積為 m 的背包&#xff0c;問最多可帶走多少價值的物品。 狀態轉移方程 dp[i][j]max…

dp打開思路3:HDU1069 POJ3616 POJ1088

HDU 1069 題目鏈接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1069 題意&#xff1a;把給定的長方體&#xff08;不限&#xff09;疊加在一起&#xff0c;疊加的條件是&#xff0c;上面一個長方體的長和寬都比下面長方體的長 和寬短&#xff1b;求這些長方體能…

輸入輸出外掛

板子不解釋 //適用于正負整數 template <class T> inline bool scan_d(T &ret) {char c; int sgn;if(cgetchar(),cEOF) return 0; //EOFwhile(c!?&&(c<0||c>9)) cgetchar();sgn(c?)??1:1;ret(c?)?0:(c?0);while(cgetchar(),c>0&&c&…

dp打開思路4:POJ1189 UVA12511 HDU2845 HBCPC K

POJ1189 http://poj.org/problem?id1189 怎么說呢&#xff0c;不算難&#xff0c;但是容易出問題 我一開始的思路是&#xff0c;第一個釘子只有一種情況&#xff0c;然后下面每個釘子&#xff1a;左邊有釘子就加左邊的情況數&#xff0c;右邊有釘子就加右邊的情況數&#x…

第五次課 課上代碼

第五次 雙重循環——排序&#xff08;復習&#xff09; While循環 Break continue 字符串&#xff08;len&#xff0c;取值改值&#xff0c;格式化&#xff09; 列表生成式 >>> for i in range(4): for j in range(4): print(i,j) 0 0 0 1 0 2 0 3 1…

第六次課 課上代碼

oj的使用 Python Split 函數&#xff08;優點&#xff1a;抽象、簡潔。 舉例&#xff1a;str\int\float\abs 具體實現&#xff09; ninput().split(" ") 3 4 >>> print(int(n[0])int(n[1])) 7 >>> print(12345) 15 l[1,2,3,4,5] >>&g…

橙白oj18訓練作業1-題解、代碼

學習資料和oj如何使用加軟件官方qq群739979255 oj網址&#xff1a;http://oj.acm-icpc.top/ a題&#xff1a;原題為輸入兩個數&#xff0c;一行&#xff0c;用空格隔開&#xff0c;因為python操作對萌新來說略難&#xff0c;改為一行一個數&#xff0c;算出ab。 思路&#x…

橙白oj18訓練作業2-題解、代碼

http://oj.acm-icpc.top/ a題&#xff1a;三個數字排序 可以利用sort函數排序&#xff0c;或者自己想清楚邏輯自己寫&#xff0c;我給出一個正確邏輯 &#xff08;拓展冒泡和其他排序參考https://blog.csdn.net/hebtu666/article/details/81434236&#xff09; a,b,cinput(…

時間空間復雜度概述

找個時間寫一寫時間復雜度和一些問題分類&#xff0c;也普及一下這方面知識。 如何衡量一個算法好壞 很顯然&#xff0c;最重要的兩個指標&#xff1a;需要多久可以解決問題、解決問題耗費了多少資源 那我們首先說第一個問題&#xff0c;要多長時間來解決某個問題。那我們可…

二叉樹遍歷算法總結

文章目錄前提要素深度優先搜索DFS經典遍歷算法前序遍歷遞歸版迭代版中序遍歷遞歸版迭代版后序遍歷遞歸版迭代版Morris遍歷算法中序遍歷前序遍歷后序遍歷廣度優先搜索BFS按層遍歷參考資料前提要素 本文代碼用Java實現。 //二叉樹節點結構 public static class TreeNode {publi…

時間復雜度 P/NP/NPC

你會經常看到網上出現“這怎么做&#xff0c;這不是NP問題嗎”、“這個只有搜了&#xff0c;這已經被證明是NP問題了”之類的話。你要知道&#xff0c;大多數人此時所說的NP問題其實都是指的NPC問題。他們沒有搞清楚NP問題和NPC問題的概念。NP問題并不是那種“只有搜才行”的問…