Python 練習

# 有四個數(shù)字:1、2、3、4,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?各是多少?
number_list = []

for i in range(1, 5):
    for j in range(1, 5):
        for k in range(1, 5):
            if (i!=j) and (k !=i) and (k!= j) and ( k != i):
                number_list.append(k*100 + j*10 + i)


print(len(number_list))
for num in number_list:
    print(num, end = " ")

# 題目:企業(yè)發(fā)放的獎金根據(jù)利潤提成。利潤(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,求應發(fā)放獎金總數(shù)?
# 程序分析:請利用數(shù)軸來分界,定位。注意定義時需把獎金定義成長整型。

profit = 120000
num_axis = [1000000, 600000, 400000, 200000, 100000, 0]
rate = [0.01, 0.015, 0.03, 0.05, 0.075, 0.1]
bonus = 0

for i in range(0, 6):

    if profit > num_axis[i]:
       bonus += (profit - num_axis[i]) * rate[i]
       profit = num_axis[i]

print(bonus)

# 題目:一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少?
# 不會做!滾!

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

year = int(input('year\n'))
month = int(input('month\n'))
day = int(input('day\n'))
day_counter = 0
long_month = [12, 10, 8, 7, 5, 3, 1]



for i in range(0, 7):
    if month >= long_month[i]:
        if month > 2:  # 判斷是否已過二月 如果沒有過二月不需要判斷是否為閏年
            if year % 4 != 0:  # 判斷是否為閏年
                day_counter = (6 - i) * 31 + (month - (6 - i) - 2) * 30 + 28 + day
                break
            else:
                day_counter = (6 - i) * 31 + (month - (6 - i) - 2) * 30 + 29 + day
                break
        else:
            day_counter += (month - 1) * 30 + day
            break

print(day_counter)

# 輸入三個整數(shù)x,y,z,請把這三個數(shù)由小到大輸出。
# 排序?

my_list = []

for i in range(0, 3):
    number = int(input())
    my_list.append(number)

length = len(my_list)

for i in range(length):
    for j in range(length - 1):
        if my_list[j] > my_list[j+1]:
            my_list[j], my_list[j + 1] = my_list[j + 1], my_list[j]

print(my_list)



# 斐波那契數(shù)列

def fib(n):
    if n == 1 or n == 2:
        return 1

    else:
        return fib(n-1) + fib(n-2)  # wow!
    
print(fib(10))

# 題目:將一個列表的數(shù)據(jù)復制到另一個列表中。

new_list = my_list[:]
print('new list ', new_list)

new_new_list = my_list.copy()
print('new new list ', new_new_list)

# 題目:輸出 9*9 乘法口訣表。
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in numbers:
    for j in numbers:
        print(i, '*', j, "=" , i*j, '\n', end = '',)

# 暫停一秒輸出,并格式化當前時間。

import time
while 1:
    fmt = 'Es ist %Y-%B-%d, %A , ?rtliche Zeit: %p %H:%M:%S'
    print(time.strftime(fmt, time.localtime()))
    time.sleep(1)

# 古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,
# 問每個月的兔子總數(shù)為多少


# 判斷101-200之間有多少個素數(shù),并輸出所有素數(shù)。
num = 0
for i in range(101, 201):
    for j in range(1, i - 1):
        if i / j == 0:
            break

        else:
            num+=1
print(num)

# 輸出指定格式的日期。

from datetime import datetime
my_birth = datetime(2001, 1, 1)
format = '%d/%m/%Y'
print(my_birth.strftime(format))

# 輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。
# isspace, isdigit, isalpha 方法

string = input('你看心情隨便按')
space_num = 0
digit_num = 0
alpha_num = 0
others_num = 0
for single in string:
    if single.isalpha():
        alpha_num += 1

    elif single.isspace():
        space_num += 1

    elif single.isdigit():
        digit_num += 1

    else:
        others_num += 1

print('space: %d digit: %d  alpha %d, and others: %d' % (space_num, digit_num, alpha_num, others_num))

# 求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個數(shù)字。例如2+22+222+2222+22222(此時共有5個數(shù)相加),幾個數(shù)相加由鍵盤控制。
n = int(input('how many number should be added? \n'))
s = int(input('what number should be put into the list? \n'))
sL = []
temp = 0
from functools import reduce
for i in range(n):
    temp += s
    s = s * 10
    sL.append(temp)
    print(temp)

sum = reduce(lambda x,y : x + y, sL)
print(sum)

# 一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時,共經(jīng)過多少米?第10次反彈多高?

tour, height, times, current_height = [], [], 10, 100
for time in range(1, times + 1):
    if time == 1:
        tour.append(current_height)

    else:
        tour.append(2 * current_height)

    current_height /= 2


print('total distance: %d' % sum(tour))   # 有錯的
print('last time height: %d' % current_height)  # 也是有錯的

print('total distance: %f' % sum(tour))    # correct
print('last time height: %f' % current_height)  # correct

# 猴子吃桃問題:猴子第一天摘下若干個桃子,當即吃了一半,還不癮,又多吃了一個
# 第二天早上又將剩下的桃子吃掉一半,又多吃了一個。
# 以后每天早上都吃了前一天剩下的一半零一個。到第10天早上想再吃時,見只剩下一個桃子了。求第一天共摘了多少。

peach_num = 1

for day in range(10, 1, -1):
    temp = ( peach_num + 1 ) * 2
    peach_num = temp

print(peach_num)

# 用遞歸重寫

def peach_counter(day):
    if day == 10:
        return 1

    else:
        return (peach_counter(day + 1) + 1) * 2

print(peach_counter(1))
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容