day7作業(yè)

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

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

    return sum1

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

結(jié)果:

請輸入N的值:10
55

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

def my_max(numbers):
    """
    求多個數(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('請輸入數(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é)果:

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

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

import random


def dice_count_sum(value):
    """
    隨機產(chǎn)生色子的點數(shù),打印n個色子點數(shù)的和
    :param value: 參數(shù),int,色子的個數(shù)
    :return: 色子的點數(shù)和,和色子的點數(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('請輸入色子的個數(shù):')
sum2, dice = dice_count_sum(n)
print('6個色子的點數(shù)之和是:', sum2)
print('6個色子的點數(shù)分別是:', dice)

結(jié)果:

請輸入色子的個數(shù):6
6個色子的點數(shù)之和是: 24
6個色子的點數(shù)分別是: [5, 1, 6, 2, 5, 5]

4.編寫一個函數(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.編寫一個函數(shù),求三個數(shù)中的最大值

def my_max(num1, num2, num3):
    """
    求三個數(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.編寫-一個函數(shù), 提取指定字符串中的所有的字母,然后拼接在一起后打印出來

def get_chars(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出來
    :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('請輸入一串字符串:')
print(get_chars(str1))

結(jié)果:

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

def get_chars(str1):
    """
    提取指定字符串中的所有的字母,然后拼接在一起后打印出來
    :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('請輸入一串字符串:')
print(get_chars(str1))

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

def get_ave(numbers):
    """
    求多個數(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('請輸入數(shù)字(輸入ok退出輸入模式):')
    if value == 'ok':
        break
    elif value.isdigit():
        numbers.append(int(value))
        continue
    else:
        print('輸入值只能是數(shù)字!')

print(get_ave(numbers))

結(jié)果:

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

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

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

    return result

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

結(jié)果:

請輸入一個整數(shù):5
它的階乘是: 120

9.寫一個函數(shù),可以對多個數(shù)進行不同的運算

def my_calculator(char, numbers):
   """
   可以對多個數(shù)進行不同的運算
   :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('請輸入+-*/中的一個:')
   if char in '+-*/':
       break
   print('輸入有誤!')

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

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

結(jié)果:

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

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

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

# 除法
請輸入+-*/中的一個:/
請輸入數(shù)字(輸入ok退出輸入模式):120
請輸入數(shù)字(輸入ok退出輸入模式):5
請輸入數(shù)字(輸入ok退出輸入模式):4
請輸入數(shù)字(輸入ok退出輸入模式):3
請輸入數(shù)字(輸入ok退出輸入模式):ok
結(jié)果是: 2.0
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

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

友情鏈接更多精彩內(nèi)容