day7作業(yè)

1.寫(xiě)一個(gè)函數(shù),求1+2+3+...+N

def my_sum(n):
    """
    求1+2+3+...+N的和
    :param n: 參數(shù),int,n的個(gè)數(shù)
    :return: 返回和
    """
    sum1 = 0
    for number in range(n):
        sum1 += number + 1

    return sum1

n = int(input('請(qǐng)輸入N的值:'))
print(my_sum(n))

結(jié)果:

請(qǐng)輸入N的值:10
55

2.求多個(gè)數(shù)中的最大值

def my_max(numbers):
    """
    求多個(gè)數(shù)中的最大值
    :param numbers: 參數(shù),list,數(shù)字
    :return:
    """
    number_max = numbers[0]
    for number in numbers:
        if number>number_max:
            number_max = number

    return number_max

numbers = []
while True:
    value = input('請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):')
    if value == 'ok':
        break
    elif value.isdigit():
        numbers.append(int(value))
        continue
    else:
        print('輸入值只能是數(shù)字!')

print('您輸入的數(shù)據(jù)中最大的數(shù)字是:', my_max(numbers))

結(jié)果:

請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):12
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):23
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):1
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):17
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):66
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):28
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):34
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):ok
您輸入的數(shù)據(jù)中最大的數(shù)字是: 66

3.編寫(xiě)一個(gè)函數(shù),實(shí)現(xiàn)色子功能,打印n個(gè)色子點(diǎn)數(shù)的和

import random


def dice_count_sum(value):
    """
    隨機(jī)產(chǎn)生色子的點(diǎn)數(shù),打印n個(gè)色子點(diǎn)數(shù)的和
    :param value: 參數(shù),int,色子的個(gè)數(shù)
    :return: 色子的點(diǎn)數(shù)和,和色子的點(diǎn)數(shù)的列表
    """
    dice_count = []
    sum1 = 0
    n = int(value)
    for index in range(n):
        dice_count.append(random.randint(1,6))
        sum1 += dice_count[index]

    return sum1, dice_count

n = input('請(qǐng)輸入色子的個(gè)數(shù):')
sum2, dice = dice_count_sum(n)
print('6個(gè)色子的點(diǎn)數(shù)之和是:', sum2)
print('6個(gè)色子的點(diǎn)數(shù)分別是:', dice)

結(jié)果:

請(qǐng)輸入色子的個(gè)數(shù):6
6個(gè)色子的點(diǎn)數(shù)之和是: 24
6個(gè)色子的點(diǎn)數(shù)分別是: [5, 1, 6, 2, 5, 5]

4.編寫(xiě)一個(gè)函數(shù),交換字典的key和value

def dict_swap(dict1):
    """
    交換字典的key和value
    :param dict1: 參數(shù),dict,
    :return: dict,新的字典
    """
    print(dict1)
    dict2 = {}
    for key, value in dict1.items():
        dict2[value] = key

    return dict2

dict1 = {'name': 'joe', 'age':'18', 'tel':'132'}
print(dict_swap(dict1))

結(jié)果:

{'name': 'joe', 'age': '18', 'tel': '132'}
{'joe': 'name', '18': 'age', '132': 'tel'}

5.編寫(xiě)一個(gè)函數(shù),求三個(gè)數(shù)中的最大值

def my_max(num1, num2, num3):
    """
    求三個(gè)數(shù)中的最大值
    :param num1: 參數(shù)1,int
    :param num2: 參數(shù)2,int
    :param num3: 參數(shù)3,int
    :return: int
    """
    number_max = num1
    if num2>number_max:
        number_max = num2
    if num3>number_max:
        number_max = num3

    return number_max

print(my_max(11, 22, 12))

結(jié)果:

22

6.編寫(xiě)-一個(gè)函數(shù), 提取指定字符串中的所有的字母,然后拼接在一起后打印出來(lái)

def get_chars(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出來(lái)
    :param str1: 參數(shù),str
    :return: str
    """
    chars = ''
    for char in str1:
        if 'a'<=char<='z' or 'A'<=char<='Z':
            chars += char

    return chars

str1 = input('請(qǐng)輸入一串字符串:')
print(get_chars(str1))

結(jié)果:

編寫(xiě)-一個(gè)函數(shù),  提取指定字符串中的所有的字母,然后拼接在一起后打印出來(lái)

def get_chars(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出來(lái)
    :param str1: 參數(shù),str
    :return: str
    """
    chars = ''
    for char in str1:
        if 'a'<=char<='z' or 'A'<=char<='Z':
            chars += char

    return chars

str1 = input('請(qǐng)輸入一串字符串:')
print(get_chars(str1))

7.寫(xiě)一個(gè)函數(shù),求多個(gè)數(shù)的平均值

def get_ave(numbers):
    """
    求多個(gè)數(shù)的平均值
    :param numbers: 參數(shù),list
    :return: int
    """
    sum1 = 0
    for number in numbers:
        sum1 += number
    ave = sum1/len(numbers)

    return ave

numbers = []
while True:
    value = input('請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):')
    if value == 'ok':
        break
    elif value.isdigit():
        numbers.append(int(value))
        continue
    else:
        print('輸入值只能是數(shù)字!')

print(get_ave(numbers))

結(jié)果:

請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):10
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):20
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):20
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):30
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):50
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):ok
26.0

8.寫(xiě)一個(gè)函數(shù),默認(rèn)求10的階層,也可以求其他數(shù)的階層

def my_factorial(number):
    """
    求一個(gè)數(shù)的階乘
    :param number: 參數(shù),int
    :return: int
    """
    result = 1
    for num in range(1, number+1):
        result *= num

    return result

number = int(input('請(qǐng)輸入一個(gè)整數(shù):'))
print('它的階乘是:', my_factorial(number))

結(jié)果:

請(qǐng)輸入一個(gè)整數(shù):5
它的階乘是: 120

9.寫(xiě)一個(gè)函數(shù),可以對(duì)多個(gè)數(shù)進(jìn)行不同的運(yùn)算

def my_calculator(char, numbers):
   """
   可以對(duì)多個(gè)數(shù)進(jìn)行不同的運(yùn)算
   :param char: 參數(shù)1,str
   :param numbers: 參數(shù)2,list
   :return: int,float
   """

   if char == '+':
       result = 0
       for number in numbers:
           result += number
       return result

   if char == '-':
       result = numbers[0]
       for number in numbers:
           if number == numbers[0]:
               continue
           result -= number
       return result

   if char == '*':
       result = 1
       for number in numbers:
           result *= number
       return result

   if char == '/':
       result = numbers[0]
       for number in numbers:
           if number == 0:
               return '除數(shù)不能為0!'

           if number == numbers[0]:
               continue
           result /= number
       return result



numbers = []

while True:
   char = input('請(qǐng)輸入+-*/中的一個(gè):')
   if char in '+-*/':
       break
   print('輸入有誤!')

while True:
   value = input('請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):')
   if value.lower() == 'ok':
       if len(numbers)<2:
           print('請(qǐng)至少輸入2個(gè)數(shù)字!')
           continue
       break
   elif value.isdigit():
       numbers.append(int(value))
       continue
   else:
       print('輸入值只能是數(shù)字!')

print('結(jié)果是:', my_calculator(char, numbers))

結(jié)果:

#加法
請(qǐng)輸入+-*/中的一個(gè):+
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):1
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):2
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):3
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):4
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):5
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):ok
結(jié)果是: 15

# 減法
請(qǐng)輸入+-*/中的一個(gè):-
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):100
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):20
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):10
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):30
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):ok
結(jié)果是: 40

# 乘法
請(qǐng)輸入+-*/中的一個(gè):*
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):1
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):2
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):3
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):4
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):5
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):ok
結(jié)果是: 120

# 除法
請(qǐng)輸入+-*/中的一個(gè):/
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):120
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):5
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):4
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):3
請(qǐng)輸入數(shù)字(輸入ok退出輸入模式):ok
結(jié)果是: 2.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 在C語(yǔ)言中,五種基本數(shù)據(jù)類(lèi)型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來(lái)閱讀 3,391評(píng)論 0 2
  • 1.寫(xiě)一個(gè)程序 a.用一個(gè)變量來(lái)保存一個(gè)班級(jí)的學(xué)生信息(姓名,學(xué)號(hào),成績(jī)(英語(yǔ),美術(shù),體育,數(shù)學(xué)),年齡)b.給這...
    RurouniKenshin閱讀 311評(píng)論 0 12
  • 很喜歡第二周【創(chuàng)意力】主題學(xué)習(xí)的第一節(jié)課:積極主動(dòng),沒(méi)有就去創(chuàng)造!我覺(jué)得Grace大大的是日金句:沒(méi)有,就去...
    差不多小姐少女薇閱讀 167評(píng)論 2 1
  • 漸漸的,她也就習(xí)慣了,如果,如果我能夠出生在別的家庭,多好啊,那樣的話(huà),是不是我就不會(huì)那么累了。她不止一次的...
    尋找彼岸的方向閱讀 152評(píng)論 0 0
  • 藩鎮(zhèn)制度下,藩鎮(zhèn)割據(jù)嚴(yán)重。在元和中興之期,憲宗開(kāi)始削弱藩鎮(zhèn)勢(shì)力。魏博是當(dāng)時(shí)最大的藩鎮(zhèn),在某種意義上來(lái)說(shuō),他可以...
    琳琳琳琳ing閱讀 2,258評(píng)論 0 4