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):
"""
隨機(jī)產(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ù)块请,默認(rèn)求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ù)進(jìn)行不同的運算
def my_calculator(char, numbers):
"""
可以對多個數(shù)進(jì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('請輸入+-*/中的一個:')
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