第三天为一些比较有意思的题目,主要考验大家的编程思维。
大家尽力去写,题目后面跟的为答案。
1、计算圆的面积
r = float(input())
pi = 3.14
print(pi**2*r)
2、编写函数,接收字符串参数,返回一个元组,其中第一个元素为大写字母个数,第二个元素为小写字母个数。
def count_letters(s):
# 初始化大写和小写字母计数
uppercase_count = 0
lowercase_count = 0
# 遍历字符串中的每一个字符
for char in s:
if char.isupper():
uppercase_count += 1
elif char.islower():
lowercase_count += 1
# 返回一个元组,包含大写和小写字母的个数
return (uppercase_count, lowercase_count)
# 示例使用
input_string = "Hello World!"
result = count_letters(input_string)
print("大写字母个数:", result[0])
print("小写字母个数:", result[1])
3、编写函数模拟猜数游戏。系统随机产生一个数,玩家最多可以猜5次,系统会根据玩家的猜测进行提示,玩家则可以根据系统的提示对下一次的猜测进行适当调整。
import random
def guess_number_game():
# 系统随机生成一个1到100之间的数字
secret_number = random.randint(1, 100)
max_attempts = 5
print("欢迎来到猜数游戏!系统已经生成了一个1到100之间的数字,你有5次机会来猜它。")
for attempt in range(1, max_attempts + 1):
# 玩家输入猜测的数字
guess = int(input(f"第 {attempt} 次猜测,请输入你的数字: "))
# 判断玩家的猜测
if guess < secret_number:
print("你猜的数字太小了。")
elif guess > secret_number:
print("你猜的数字太大了。")
else:
print(f"恭喜你!你在第 {attempt} 次猜对了数字 {secret_number}!")
return
print(f"很遗憾,你已经用完了所有的 {max_attempts} 次机会。正确的数字是 {secret_number}。")
# 运行猜数游戏
guess_number_game()
4、编写函数,接收一个整数t为参数,打印杨辉三角前t行。
打印格式为:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
...
def print_yanghui_triangle(t):
triangle = []
# 生成杨辉三角的前 t 行
for i in range(t):
# 每行的第一个元素为 1
row = [1] * (i + 1)
for j in range(1, i):
# 当前元素等于上一行的两个相邻元素之和
row[j] = triangle[i-1][j-1] + triangle[i-1][j]
triangle.append(row)
# 打印杨辉三角
for row in triangle:
print(' '.join(map(str, row)))
# 示例使用
t = int(input("请输入杨辉三角的行数: "))
print_yanghui_triangle(t)