n = eval(input("请输入数量:"))
if n == 1:
cost = n * 160elif n <= 4:
cost = n * 160 * 0.9elif n <= 9:
cost = n * 160 * 0.8else:
cost = n * 160 * 0.7print("总额为:", cost)
解析: 典型的条件分支结构,注意判断顺序和边界值。
第 10 套题
题目要求: 斐波那契数列生成。
a, b = 0, 1while a <= 100:
print(a, end=',')
a, b = b, a + b
解析: 元组解包赋值是 Python 交换变量的经典写法。
第 11 套题
题目要求: 列表对应元素相乘求和。
a = [3, 6, 9]
b = eval(input())
s = 0for i inrange(3):
s += a[i] * b[i]
print(s)
解析: 遍历索引访问列表元素,累加积。
第 12 套题
题目要求: 生成指定范围的随机整数。
import random
random.seed(123)
for i inrange(10):
print(random.randint(1, 999), end=",")
解析:randint(a, b) 包含两端点。
第 13 套题
题目要求: 右对齐填充星号。
n = eval(input("请输入正整数:"))
print("{:*>15}".format(n))
解析:* 作为填充字符,> 右对齐。
第 14 套题
题目要求: 列表元素相加生成新列表。
a = [3, 6, 9]
b = eval(input())
c = []
for i inrange(len(b)):
c.append(a[i] + b[i])
print(c)
解析: 动态获取列表长度 len(b) 确保循环安全。
第 15 套题
题目要求: 累加随机数的平方。
import random
random.seed(0)
s = 0for i inrange(5):
n = random.randint(1, 97)
s = s + pow(n, 2)
print(s)
解析: 注意变量初始化位置,pow(n, 2) 等同于 n ** 2。
第 16 套题
题目要求: 等宽填充。
n = eval(input("请输入正整数:"))
print("{:=^14}".format(n))
第 17 套题
题目要求: 在列表指定位置插入元素。
a = [3, 6, 9]
b = eval(input())
j = 1for i inrange(len(a)):
b.insert(j, a[i])
j += 2print(b)
解析:insert(index, element) 在指定索引前插入,注意索引随插入递增。
第 18 套题
题目要求: 累加随机数的立方。
import random
random.seed(100)
s = 0for i inrange(3):
s = s + pow(random.randint(1, 9), 3)
print(s)
第 19 套题
题目要求: 格式化输出数值。
s = input()
print("{:=>25,}".format(eval(s)))
解析: 先转换类型再格式化。
第 20 套题
题目要求: 字符串反转与长度。
s = input()
print(s[::-1], end="")
print(len(s))
解析: 切片步长为 -1 实现反转。
第 21 套题
题目要求: 生成等差数列。
a, b, c = eval(input())
ls = []
for i inrange(c):
ls.append(a + b * i)
print(ls)
解析: 通项公式 a + n*d 的应用。
第 22 套题
题目要求: 十六进制格式化。
s = input()
print("{:^30x}".format(eval(s)))
解析:x 表示小写十六进制。
第 23 套题
题目要求: 数字转中文。
n = input()
s = "〇一二三四五六七八九"for c in"0123456789":
n = n.replace(c, s[int(c):int(c) + 1])
print(n)
解析: 利用 replace 逐个替换数字字符。
第 24 套题
题目要求: 生成等比数列。
a, b, c = eval(input())
ls = []
for i inrange(c):
ls.append(str(a * (b ** i)))
print(",".join(ls))
解析: 注意最后用 join 连接成字符串。
第 25 套题
题目要求: 逗号分隔数据右对齐。
num = input().split(",")
for i in num:
print("{:>10}".format(i), end="")
解析: 输入需先分割,输出时保持不换行。
第 26 套题
题目要求: 复利计算模型。
scale = 0.0001defcalv(base, day):
val = base * pow((1 + scale), day * 11)
return val
print('5 年后的成就值是{}'.format(int(calv(1, 5 * 365))))
year = 1while calv(1, year * 365) < 100:
year += 1print('{}年后成就值是 100'.format(year))
解析: 函数封装与循环终止条件判断。
第 27 套题
题目要求: 异常处理与输入验证。
whileTrue:
try:
a = eval(input('请输入一个正整数:'))
if a > 0and a % 1 == 0:
print(a)
breakelse:
print("请输入正整数")
except:
print("请输入正整数")
解析:try-except 捕获非数字输入,% 1 == 0 检查是否为整数。
第 28 套题
题目要求: 打印金字塔图案。
n = input('请输入一个正整数:')
for i inrange(1, eval(n) + 1):
print('{:0>2}{}{}'.format(i, " ", ">" * (i)))
s = input("请输入一个正整数:")
cs = 0for c in s:
cs += int(c)
print('{:=^25}'.format(cs))
解析: 字符串遍历转为整数累加。
第 32 套题
题目要求: 统计中文字符。
s = input("请输入中文和字母的组合:")
count = 0for c in s:
if"\u4e00" <= c <= "\u9fff":
count += 1print(count)
解析: Unicode 范围判断汉字。
第 33 套题
题目要求: 查找最大值。
s = input("请输入一组数据:")
ls = s.split(",")
lt = []
for i in ls:
lt.append(eval(i))
print(max(lt))
解析: 数据清洗后使用内置 max 函数。
第 34 套题
题目要求: 小数部分求和(倒序)。
s = input("请输入一个小数:")
s = s[::-1]
cs = 0for c in s:
if c == '.':
break
cs += eval(c)
print('{:*>10}'.format(cs))
解析: 倒序后遇到小数点即停止,避免重复计算整数部分。
第 35 套题
题目要求: 时间对象转换。
import time
t = input("请输入一个浮点数时间信息:")
s = time.ctime(eval(t))
ls = s.split()
print(ls[3].split(":")[0])
解析:ctime 返回标准时间字符串,通过索引提取小时。
第 36 套题
题目要求: 随机字符生成。
import random
s = input("请输入随机种子:")
ls = []
for i inrange(26):
ls.append(chr(ord('a') + i))
for i inrange(10):
ls.append(chr(ord('0') + i))
random.seed(eval(s))
for i inrange(10):
for j inrange(8):
print(ls[random.randint(0, 35)], end='')
print()
解析: 混合字母数字池,双重循环控制输出行数。
第 37 套题
题目要求: 类型判断与字符串拼接。
ls = eval(input())
s = ""for item in ls:
iftype(item) == type("香山"):
s += item
print(s)
解析:type() 比较判断字符串类型。
第 38 套题
题目要求: 猜数字游戏。
import random
random.seed(25)
n = random.randint(1, 101)
for m inrange(1, 7):
x = eval(input("请输入猜测数字:"))
if x == n:
print("恭喜你,猜对了!")
breakelif x > n:
print("大了,再试试")
else:
print("小了,再试试")
if m == 6:
print("谢谢!请休息后再猜")
解析: 循环次数控制与退出机制。
第 39 套题
题目要求: 奇偶数倒数求和。
deff(n):
s = 0if n % 2 == 1:
for i inrange(1, n + 1, 2):
s += 1 / i
else:
for i inrange(2, n + 1, 2):
s += 1 / i
return s
n = int(input())
print("{:.2f}".format(f(n)))
解析: 函数定义与步长参数 range(start, stop, step)。
第 40 套题
题目要求: 打印三角形。
n = eval(input("请输入一个整数:"))
for i inrange(1, n):
for j inrange(1, n):
if i <= j < n:
print(j, end=" ")
print()
解析: 双重循环控制行列关系。
第 41 套题
题目要求: 大小写转换与反转。
s = input("请输入 5 个小写字母:")
s = s.upper()
print(','.join(s[::-1]))
解析: 链式调用字符串方法。
第 42 套题
题目要求: 随机数序列生成。
import random
n = eval(input())
random.seed(100)
for i inrange(1, 11):
if i < 10:
print(random.randint(1, n), end=',')
else:
print(random.randint(1, n))
解析: 最后一个数字不带逗号,注意 end 参数。
第 43 套题
题目要求: 动态填充符号。
a = input("请输入填充符号:")
s = "PYTHON"print("{0:{1}^30}".format(s, a))
解析: 嵌套格式化 {0:{1}^30} 允许动态指定填充符。
第 44 套题
题目要求: 提取数字求和。
myinput = input("请输入:")
ls = myinput.split(',')
s = 0for c in ls:
if c.strip(" ").isdigit():
s += eval(c)
print("数字和是:" + str(s))
解析:strip() 去除首尾空格,isdigit() 判断纯数字。
第 45 套题
题目要求: 文件读取去重。
f = open('data.txt', 'r')
ls = []
for line in f:
for c in line:
if c notin ls:
ls.append(c)
f.close()
print(len(ls))
解析: 文件操作基本流程,列表查重。
第 46 套题
题目要求: 浮点数格式化。
f = eval(input("请输入一个浮点数:"))
print("浮点数是:{:>10.2f}".format(f))
解析:.2f 保留两位小数。
第 47 套题
题目要求: 连续字母生成。
h, w = eval(input("请输入起始英文字母的序号和连续输出的个数,逗号隔开:"))
cstr = ''for i inrange(w):
c = chr(97 + h + i)
cstr += c
print(cstr)
解析:ord('a') 为 97,ASCII 码计算。
第 48 套题
题目要求: 区间随机数。
import random as r
r.seed(1)
s = input("请输入三个整数 n,m,k:")
slist = s.split(",")
for i inrange(eval(slist[0])):
print(r.randint(eval(slist[2]), eval(slist[1])))
解析: 注意输入参数的顺序对应 randint(min, max)。
第 49 套题
题目要求: 字符串分割与解析。
sinfo = input()
s = sinfo.split(",")
print("姓名,年龄")
for strname in s:
sname = strname[:-2]
sage = strname[-2:]
print("{},{}".format(sname, sage))
解析: 字符串切片提取子串。
第 50 套题
题目要求: 随机数平均数。
import random
random.seed(20)
sum_val = 0for i inrange(10):
n = random.randint(1, 20)
sum_val += n
print('第{}个数:{}'.format(i, n))
print("10 个随机数的平均数是:{}".format(round(sum_val / 10, 1)))
解析: 变量名避免使用关键字 sum,改用 sum_val。
第 51 套题
题目要求: 因子查找。
defallFactor(n):
if n <= 1:
return [n]
if n <= 3:
return [1, n]
i = 1
rlist = []
while i <= n:
if n % i == 0:
rlist.append(i)
i += 1return rlist
try:
n = eval(input("请输入一个正整数:"))
print("整数{}的因子是:{}".format(n, allFactor(n)))
except:
print("输入错误!")
解析: 循环遍历至 n 本身,注意边界条件。
第 52 套题
题目要求: 边框绘制。
f = input("请输入一个单词:")
print("{}".format("=" * 20))
print("|{:*^18}|".format(f))
解析: 字符串乘法构建边框线。
第 53 套题
题目要求: 列表参数传递。
defvfun(x, b):
for i in b:
x += eval(i)
return x
lc = input().split(',')
print(vfun(10, lc))
解析: 列表作为参数传入函数内部修改。
第 54 套题
题目要求: 大小写转换过滤。
ss = input("请输入一个字符串:")
for s in ss:
iford('A') <= ord(s) <= ord('z'):
print(s.upper(), end="")
else:
continue
解析:ord() 获取字符编码进行比较。
第 55 套题
题目要求: 圆面积计算。
pi = 3.14159
r = eval(input("请输入圆的半径:"))
print("圆的半径是{:=^10.2f},面积是{:*>10.2f}".format(r, pi * r * r))
解析: 格式化输出美化结果。
第 56 套题
题目要求: 列表平均值。
ls = eval(input())
print("输入是:{},平均数是:{}".format(ls, sum(list(ls)) / len(ls)))
解析:sum() 配合 len() 计算均值。
第 57 套题
题目要求: 全小写判断。
s = input("请输入字符串:")
for c in s:
zimu = "qwertyuiopasdfghjklzxcvbnm"if c in zimu:
passelse:
print("不全是英文小写")
breakelse:
print("全部是英文小写")