def fibonacci(month):
if month == 0 or month == 1:
return 1
else:
return fibonacci(month-1) + fibonacci(month-2)
result = fibonacci(12)
print(result)
"""
使用自定义函数,完成对程序的模块化
学生信息包含:姓名、性别、手机号
该系统具有的功能:添加、删除、修改、显示、退出系统
设计思路:
提示用户选择功操作
获取用户选择的功能
根据用户的选择,分别调用不同的函数
"""
stu_info = []
def print_menu():
print('=' * 30)
print('学生管理系统 V10.0')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.查询所有学生信息')
print('0.退出系统')
print('=' * 30)
def add_stu_info():
new_name = input('请输入新学生的姓名:')
new_sex = input('请输入新学生的性别:')
new_phone = input('请输入新学生的手机号码:')
new_info = dict()
new_info['name'] = new_name
new_info['sex'] = new_sex
new_info['phone'] = new_phone
stu_info.append(new_info)
def del_stu_info(student):
del_num = int(input('请输入要删除的序号:')) - 1
del student[del_num]
print("删除成功!")
def modify_stu_info():
if len(stu_info) != 0:
stu_id = int(input('请输入要修改学生的序号:'))
new_name = input('请输入要修改学生的姓名:')
new_sex = input('请输入要修改学生的性别:(男/女)')
new_phone = input('请输入要修改学生的手机号码:')
stu_info[stu_id - 1]['name'] = new_name
stu_info[stu_id - 1]['sex'] = new_sex
stu_info[stu_id - 1]['phone'] = new_phone
else:
print('学生信息表为空')
def show_stu_info():
print('学生的信息如下:')
print('=' * 30)
print('序号 姓名 性别 手机号码')
i = 1
for tempInfo in stu_info:
print("%d %s %s %s" % (i, tempInfo['name'],
tempInfo['sex'], tempInfo['phone']))
i += 1
def main():
while True:
print_menu()
key = input("请输入功能对应的数字:")
if key == '1':
add_stu_info()
elif key == '2':
del_stu_info(stu_info)
elif key == '3':
modify_stu_info()
elif key == '4':
show_stu_info()
elif key == '0':
quit_confirm = input('亲,真的要退出么?(Yes or No):').lower()
if quit_confirm == 'yes':
print("谢谢使用!")
break
elif quit_confirm == 'no':
continue
else:
print('输入有误!')
if __name__ == '__main__':
main()
def merge_sort(li):
n = len(li)
if n == 1:
return li
mid = n // 2
left = li[:mid]
right = li[mid:]
left_res = merge_sort(left)
right_res = merge_sort(right)
result = merge(left_res, right_res)
return result
def merge(left, right):
result = []
left_index = 0
right_index = 0
while left_index < len(left) and right_index < len(right):
if left[left_index] <= right[right_index]:
result.append(left[left_index])
left_index += 1
else:
result.append(right[right_index])
right_index += 1
result += right[right_index:]
result += left[left_index:]
return result
if __name__ == '__main__':
list_demo = [6, 5, 7, 4, 3, 1]
print(merge_sort(list_demo))
def guess(number):
i = 0
original_number = number
while number != 1:
if number % 2 == 0:
number = number / 2
else:
number = number * 3 + 1
i += 1
print(f"{original_number}经过{i}次变换后回到1")
num = int(input("请输入一个大于1的正整数:"))
guess(num)
def all_goods():
goods = {"可口可乐": 2.5, "百事可乐": 2.5, "冰红茶": 3, "脉动": 3.5, "果缤纷": 3,
"绿茶": 3, "茉莉花茶": 3, "尖叫": 2.5}
return goods
def show_goods():
for x, y in all_goods().items():
print(x, ":", str(y) + "元")
def total(goods_dict):
count = 0
for name, num in goods_dict.items():
total_money = all_goods()[name] * num
count += total_money
print("需要支付金额:", count, "元")
def main():
goods_dict = {}
print("饮 品 自 动 售 货 机")
show_goods()
print("输入q完成购买")
while True:
goods_name = input("请输入购物的商品:")
if goods_name == 'q':
break
if goods_name in [g_name for g_name in all_goods().keys()]:
goods_num = input("请输入购物数量:")
if goods_num.isdigit():
goods_dict[goods_name] = float(goods_num)
else:
print('商品数量不合法')
else:
print('请输入正确的商品名称')
total(goods_dict)
if __name__ == '__main__':
main()