思路:使用 input()
获取输入,字符串拼接输出
注意:输入可能包含首尾空格,建议使用 strip()
处理
name = input().strip()
print(f"Hello, {name}!")
公式:华氏度 = 摄氏度 × 9/5 + 32
技巧:使用格式化输出保留两位小数
celsius = float(input())
fahrenheit = celsius * 9/5 + 32
print(f"{fahrenheit:.2f}")
关键点:split()
分割输入,map()
类型转换
注意:输入有效性校验(示例省略校验)
# 输入示例:3 5
a, b = map(int, input().split())
print(a + b)
Python特性:元组解包实现无需临时变量
a, b = 5, 10
a, b = b, a # 等价于 (a, b) = (b, a)
print(a, b) # 输出:10 5
核心逻辑:取模运算 %
的应用
num = int(input())
print("偶数" if num % 2 == 0 else "奇数")
两种循环实现:
# for循环(推荐)
for i in range(1, 11):
print(i)
# while循环
num = 1
while num <= 10:
print(num)
num += 1
算法:遍历比较法
输入处理:使用 eval()
解析列表(实际应用建议用 ast.literal_eval
)
# 输入示例:[3, 7, 2, 9]
nums = eval(input()) # 注意:eval有安全风险,仅作示例
max_num = nums[0]
for num in nums:
if num > max_num:
max_num = num
print(max_num)
递推公式:F(n) = F(n-1) + F(n-2)
优化点:动态规划思想
n = int(input())
fib = [0, 1]
for i in range(2, n):
fib.append(fib[i-1] + fib[i-2])
print(fib[:n]) # 处理n=1的特殊情况
改进点:忽略大小写和空格
算法:双指针法(更高效)
s = input().lower().replace(" ", "") # 预处理
is_palindrome = s == s[::-1]
print("是回文" if is_palindrome else "不是回文")
方法:字符串 count()
方法
# 输入示例:hello l
s, char = input().split() # 拆分输入到变量
print(s.count(char))
Python 3.9+特性:|
运算符合并字典
传统方法:update()
方法
dict1 = {'a': 1}
dict2 = {'b': 2}
merged = dict1 | dict2 # Python 3.9+ 语法
# 或:merged = {**dict1, **dict2}
print(merged)
注意:使用数学模块获取精确π值
import math
radius = float(input())
area = math.pi * radius ** 2
print(f"{area:.2f}") # 保留两位小数
优化算法:试除法优化(检查到√n即可)
特殊处理:排除偶数
def is_prime(n):
if n <= 1:
return False
if n <= 3:
return True
if n % 2 == 0 or n % 3 == 0:
return False
i = 5
while i * i <= n:
if n % i == 0 or n % (i+2) == 0:
return False
i += 6
return True
num = int(input())
print("是质数" if is_prime(num) else "不是质数")
扩展练习建议:
通过系统练习这些题目,读者可以掌握Python基础编程的核心技能,为后续学习打下坚实基础。