Python簡單試題3

2022-03-17 08:03:00 字數 4889 閱讀 3038

1,水仙花數

水仙花數是指乙個 3 位數,它的每個位上的數字的 3次冪之和等於它本身

(例如:1^3 + 5^3+ 3^3 = 153)**如下:

方法一:

for i in range(100,1000): #

進行for迴圈

num =i

a = num % 10 #

取出個位數

num = num // 10 #

向下整除

b = num % 10 #

取出十位數

num = num // 10c = num % 10num = num // 10

if a ** 3 + b ** 3 + c ** 3 == i: #

根據條件進行判斷

print

(i)方法二:

defflower_number1(num):

length = len(str(num)) #

求出引數共有幾位

count =length

sum =0

while count: #

進行迴圈

sum += (num // 10 ** (count - 1) % 10) **length

#運算子冪的優先順序比乘除高,下邊式子與上邊式子相同

#sum += (num // (10 ** (count - 1))% 10) ** length

count -= 1

if sum ==num:

return

true

else

:

return

false

方法三:

defflower_number2(num):

str1 = str(num) #

賦值生成乙個新的字串

count = len(str1) #

計算出字串的長度

length =count

sum =0

while

count:

sum += int(str1[count-1]) **length #

取出字串的第幾位數,相當於num 的個位,十位,,在進行乘方運算

count -= 1

if sum ==num:

return

true

else

:

return false

2,完美數

找出1~9999之間的所有完美數

完美數是除自身外其他所有因子的和正好等於這個數本身的數

例如: 6 = 1 + 2 + 3, 28 = 1 + 2 + 4 + 7 + 14

import math #

匯入數學模組

for i in range(1,10000): #

迴圈 sum =0

for j in range(1,int(math.sqrt(i)) + 1): #

math.sqrt()為開平方。

#print(j)

if i % j == 0: #

判斷是否為因數

sum = sum +j

if j != 1 and i / j != j: #

因數為自身時不能加,因數兩個相同時只能加乙個

sum += i /j

if sum ==i:

print(i)

3,百雞百錢

1只公雞5元 1只母雞3元 3只小雞1元 用100元買100隻雞

問公雞 母雞 小雞各有多少只

for cock in range(21): #

公雞最多有二十隻

for hen in range(34): #

母雞最多有三十三只

chick = 100 - cock - hen #

算出小雞的數量

if cock * 5 + hen * 3 + chick / 3 == 100: #

買雞共花費多少錢

print("

公雞:%d,母雞:%d,小雞:%d

"%(cock,hen,chick))

4,斐波那鍥數列

輸出斐波那鍥數列的前一百個數

0,1,1,2,3,f(n) = f(n-1) + f(n-2)

a = 1b =0

print(b) #

輸出第乙個數

for _ in range(99): #

進行九十九次迴圈

b,a = a,a+b #

交換兩數的順序

print(a)

5,回文數

判斷輸入的正整數是不是回文數

回文數是指將乙個正整數從左往右排列和從右往左排列值一樣的數

num = input("

請輸入乙個數字:

") #

輸入乙個數字

str1 = num #

num為字串形式

length = len(str1) #

求出字串的長度

count = length // 2 #

向下整除法

flag = true #

設定乙個標誌位

for i in

range(count):

if str1[i] != str1[length-i-1]: #

進行判斷是否相同

flag =false

break

ifflag:

print("

%d 是回文數

"%num)

else

:

print("

%d 不是回文數

" % num)

6,craps賭博遊戲

玩家搖兩顆色子 如果第一次搖出7點或11點 玩家勝

如果搖出2點 3點 12點 莊家勝 其他情況遊戲繼續

玩家再次要色子 如果搖出7點 莊家勝

如果搖出第一次搖的點數 玩家勝

否則遊戲繼續 玩家繼續搖色子

玩家進入遊戲時有1000元的賭注 全部輸光遊戲結束

from random import randint #

匯入隨機數模組

money = 1000 #

你一共有1000元錢

while money > 0: #

若有錢則可以繼續玩

while

true:

stake = int(input("

請下注:"))

if stake > 0 and stake <= money: #

若輸入不正確重新輸入,直到正確為止

break

flag = false #

設定標誌位,進行判斷

dice1 = randint(1,6) + randint(1,6) #

進行搖骰子

print("

玩家第一次搖出的點數是:%d

"%dice1)

if dice1 == 2 or dice1 == 3 or dice1 == 12:

print("

莊家勝"

) money -= stake #

莊家勝,玩家輸錢

print("

餘額為:%d

"%money)

elif dice1 == 7 or dice1 == 11:

print("

玩家勝"

) money += stake #

玩家勝,莊家賠錢

print("

餘額為:%d

" %money)

else

: flag = true #

遊戲繼續,平局

while

flag:

print("

玩家再次搖色子")

dice2 = randint(1,6) + randint(1,6) #

再次搖色子

print("

玩家第二次搖出的點數是:%d

"%dice2)

if dice2 ==dice1:

print("

玩家勝"

) money +=stake

flag =false

print("

餘額為:%d

" %money)

else

:

print("

遊戲繼續")

flag =false

print("

餘額為:%d

" %money)

print("

你可以走了

")

Python簡單試題2

1,給定一組資料,將奇數進行從小到大排序,偶數在原位置不變 例 原資料 5,3,2,8,1,4 排序後 5,3,2,8,1,4 若陣列為空,則返回空陣列。如下 1 方法一 2def sort array source array 3 return a sorted array.4 首先判斷陣列是否為...

python面試題測試 python簡單面試題

在這個即將進入金9銀10的跳槽季節的時候,肯定需要一波面試題了,安靜總結了一些經常遇到的python面試題,讓我們一起擼起來。python面試題 1 求出1 100之間的和 coidng utf 8 a 0 for i in range 0,100 a i 1 print a 也可以使用函式sum ...

python簡單面試題(2)

首先搭建環境,然後根據專案搭建自動化框架,編寫自動化用例,整理用例,自動生成測試報告,然後整合到jenkins上進行操作 出現anr和crash進行復現抓取日誌 adb命令 編寫自動化用例的時候斷言編寫清楚,然後也可以通過用例失敗後進行截圖進行儲存,方便我們後續檢視用例失敗原因,自動化用例失敗後,進...