1. 有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?
if __name__ == '__main__':
# 1:題目:有四個數字:1、2、3、4,能組成多少個互不相同且無重複數字的三位數?各是多少?
count = 0
for 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:
count += 1
# 輸出語句可以屬於逗號分隔開輸出很多個參數
print(i, j, k)
print(count)
2. 企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可提成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
其實我們可以對中間結果進行累加即可,在循環中對應更新相應的值即可,其中使用到了將str類型的數據轉爲int類型數據的int方法:
if __name__ == '__main__':
# input輸入的是str類型, 使用str方法將其轉爲int類型
net = int(input("淨利潤: "))
arr = [1000000, 600000, 400000, 200000, 100000, 0]
rat = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
res = 0
# 使用enumerate迭代會比較方便
for index, cur in enumerate(arr):
if net >= cur:
res += (net - cur) * rat[index]
net = arr[index]
print(res)
3. 一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
其實是需要分析出具體的過程
if __name__ == '__main__':
# 3:題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
for i in range(1, 85):
if 168 % i == 0:
j = 168 // i;
if i > j and (i + j) % 2 == 0 and (i - j) % 2 == 0:
m = (i + j) // 2
n = (i - j) // 2
x = n * n - 100
print(x)
4. 輸入某年某月某日,判斷這一天是這一年的第幾天?
int函數將列表中str類型的元素轉爲int類型,使用str可以將int類型數據轉爲str類型
if __name__ == '__main__':
# 4:題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
# 使用split函數進行分隔日期, split函數分隔之後得到的是list列表, 使用int函數將列表中str的數據轉爲int類型
date = input("請輸入日期: ").split("/")
# print(type(date))
# print(date)
isleap = 0
# 判斷是否是閏年, 使用下表訪問列表內容
if (int(date[0]) % 4 == 0 and int(date[0]) % 400 != 0) or (int(date[0]) % 400 == 0):
isleap = 1
# 每個月的天數, 使用列表來表示, 感覺列表是python中很重要的數據結構, 優點類似於數組, 但是與數組不同的是列表可以修改
month = [31, 28, 31, 30, 31, 20, 31, 31, 30, 31, 30, 31]
i, m, res = 0, 1, 0
while m < int(date[1]):
res += month[i]
i += 1
m += 1
res = res + int(date[2])
if int(date[1]) > 2: res += isleap
print(res)
5. 輸入三個整數x,y,z,請把這三個數由小到大輸出
split函數對輸入的str字符串使用符號進行分隔,返回list列表,使用sort函數對列表進行排序,reverse可以定義升序還是降序排列
if __name__ == '__main__':
# input函數返回的是str類型,可以使用print(type(input()))來輸出具體函數的返回值類型, split函數返回的是列表
res = input().split(" ")
# 使用sort函數對其進行排序, 默認是從小到大進項排序, 可以添加reverse=True對其從大到小進行排序
res.sort()
print(res)
6. 斐波那契數列
class Solution:
# 求解第n個斐波那契數列
def fib(self, n: int)->int:
a, b = 1, 1
for i in range(0, n - 2):
# python支持使用逗號表達式進行分別賦值
a, b = b, a + b
return b
if __name__ == '__main__':
# 創建對象並且調用對象中的方法
print(Solution().fib(int(input())))
7. 將一個列表的數據複製到另一個列表中
if __name__ == '__main__':
a = [1, 2, 3, 4]
# 使用list[:]來複制列表
b = a[:]
b[0] = 2
print(a)
print(b)
8. 輸出 9*9 乘法口訣表
注意輸出語句的格式化輸出語句的使用,還有一個點是注意使用print("")實現輸出一行數據再換行
if __name__ == '__main__':
for i in range(1, 10):
for j in range(1, i + 1):
# 使用格式化進行輸出數據, end=" "表示輸出數據的時候不輸出換行
print("%2d * %2d = %2d" %(i, j, i * j), end=" ")
# 使用下面的語句可以輸出換行
print("")
9. 暫停一秒輸出
使用 time 模塊的 sleep() 函數
import time
if __name__ == '__main__':
nums = []
for i in range(10):
nums.append(i + 1)
# 暫停一秒
time.sleep(1)
print(i)
print(nums)
10. 暫停一秒輸出,並格式化當前時間
使用time模塊中的strftime函數進行格式化時間,主要是熟悉time模塊中的各個方法
import time, datetime
if __name__ == '__main__':
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
# 暫停一秒
time.sleep(1)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))