python练习之检测并规范用户名(map)

本文介绍了一个简单的Python函数,该函数可以将列表中每个字符串元素的首字母转换为大写,其余字母转换为小写。通过使用map函数配合自定义函数实现了对列表['adam','LISA','barT']的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/use/bin/env python
#coding:utf-8

nameList = ['adam', 'LISA', 'barT']

def changeName(oldName):
    newName = oldName[0:1].upper() + oldName[1:].lower()
    return newName

map(changeName, nameList)
### Python 笔试编程题与面试题练习 以下是关于 Python 的一些经典笔试编程题目以及面试题,这些问题涵盖了基础知识、逻辑思维和实际应用能力。 #### 基础语法类问题 1. **字符串操作** - 已知 `a = "05550550"`,尝试运行以下代码解释其结果: ```python print(a.index("x")) ``` 结果会抛出异常 `ValueError: substring not found`,因为 `"x"` 未存在于字符串 `a` 中[^2]。 2. **列表推导式** - 使用列表推导式生成一个由 1 到 10 的平方组成的列表。 ```python squares = [i**2 for i in range(1, 11)] print(squares) ``` 3. **字典操作** - 创建一个字典将键值对 `{1:"one", 2:"two"}` 添加进去,再删除键为 `2` 的项。 ```python my_dict = {} my_dict.update({1: "one", 2: "two"}) del my_dict[2] print(my_dict) ``` --- #### 算法与数据结构类问题 4. **快速排序实现** - 实现一个基于分治思想的快速排序函数。 ```python def quick_sort(arr): if len(arr) <= 1: return arr else: pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot] return quick_sort(left) + middle + quick_sort(right) print(quick_sort([3,6,8,10,1,2,1])) ``` 5. **二叉树遍历** - 定义一棵简单的二叉树,实现前序遍历方法。 ```python class TreeNode: def __init__(self, value=0, left=None, right=None): self.value = value self.left = left self.right = right def preorder_traversal(root): if root is None: return [] result = [root.value] result += preorder_traversal(root.left) result += preorder_traversal(root.right) return result tree_root = TreeNode(1, TreeNode(2), TreeNode(3)) print(preorder_traversal(tree_root)) # 输出 [1, 2, 3] ``` --- #### 应用场景类问题 6. **文件读写** - 编写一段代码,将一组数字保存到文件中,从该文件重新加载这些数字。 ```python numbers = [1, 2, 3, 4, 5] with open('numbers.txt', 'w') as f: f.write(','.join(map(str, numbers))) with open('numbers.txt', 'r') as f: loaded_numbers = list(map(int, f.read().split(','))) print(loaded_numbers) ``` 7. **猜数游戏** - 设计一个简单的小程序,让用户猜测计算机随机生成的一个整数。如果用户输入错误,则提示更高还是更低直到成功为止。 ```python import random target_number = random.randint(1, 100) guess = int(input("Guess the number (between 1 and 100): ")) while guess != target_number: if guess < target_number: print("Too low!") else: print("Too high!") guess = int(input("Try again: ")) print("Correct! The number was:", target_number) ``` --- #### 循环控制类问题 8. **倒序打印** - 打印从 99 到 92 的所有偶数。 ```python for num in range(99, 91, -1): if num % 2 == 0: print(num) ``` 9. **斐波那契序列** - 计算第 n 个斐波那契数(n ≤ 30),使用迭代方式而非递归。 ```python def fibonacci(n): a, b = 0, 1 for _ in range(n): a, b = b, a+b return a print(fibonacci(10)) # 输出 55 ``` --- #### 综合实践类问题 10. **模拟登录验证** - 构建一个简易的用户名密码验证系统,允许三次失败机会后退出。 ```python correct_username = "admin" correct_password = "password" attempts = 3 while attempts > 0: username = input("Enter your username: ") password = input("Enter your password: ") if username == correct_username and password == correct_password: print("Login successful.") break else: attempts -= 1 if attempts > 0: print(f"Incorrect credentials. {attempts} attempt(s) remaining.") else: print("Account locked due to too many failed login attempts.") ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值