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