目录
-
- 编程题
-
- 第1章-1 从键盘输入两个数,求它们的和并输出
- 第1章-2 从键盘输入三个数到a,b,c中,按公式值输出
- 第1章-3 输出“人生苦短,我学Python”
- 第2章-1 计算 11+12+13+...+m
- 第2章-2 计算分段函数[1]
- 第2章-3 阶梯电价
- 第2章-4 特殊a串数列求和
- 第2章-5 求奇数分之一序列前N项和
- 第2章-6 求交错序列前N项和
- 第2章-7 产生每位数字相同的n位数
- 第2章-8 转换函数使用
- 第2章-9 比较大小
- 第2章-10 输出华氏-摄氏温度转换表
- 第2章-11 求平方与倒数序列的部分和
- 第2章-12 输出三角形面积和周长
- 第2章-13 分段计算居民水费
- 第2章-14 求整数段和
- 第3章-1 大于身高的平均值
- 第3章-2 查验身份证
- 第3章-3 输出字母在字符串中位置索引
- 第3章-4 查找指定字符
- 第3章-5 字符转换
- 第3章-6 求整数序列中出现次数最多的数
- 第3章-7 求最大值及其下标
- 第3章-8 字符串逆序
- 第3章-9 字符串转换成十进制整数
- 第3章-10 统计大写辅音字母
- 第3章-11 字符串排序
- 第3章-12 求整数的位数及各位数字之和
- 第3章-13 字符串替换
- 第3章-14 字符串字母大小写转换
- 第3章-15 统计一行文本的单词个数
- 第3章-16 删除重复字符
- 第3章-17 删除字符
- 第3章-18 输出10个不重复的英文字母
- 第3章-19 找最长的字符串
- 第3章-20 逆序的三位数
- 第3章-21 判断回文字符串
- 第3章-22 输出大写英文字母
- 第4章-1 生成3的乘方表
- 第4章-2 统计素数并求和
- 第4章-3 猴子吃桃问题
- 第4章-4 验证“哥德巴赫猜想”
- 第4章-5 求e的近似值
编程题
第1章-1 从键盘输入两个数,求它们的和并输出
a = int(input())
b = int(input())
print(sum([a, b]))
第1章-2 从键盘输入三个数到a,b,c中,按公式值输出
a, b, c = map(int, input().split())
print(sum([b ** 2, -4 * a * c]))
第1章-3 输出“人生苦短,我学Python”
print('人生苦短,我学Python')
第2章-1 计算 11+12+13+…+m
m = int(input())
def cs(a):
s=0
for i in range(11, a + 1):
s = s + i
return s
print('sum =',cs(m))
第2章-2 计算分段函数[1]
x = float(input())
def f(x):
s = 0
if x != 0:
s = float(1/x)
return s
print('f(%.1f) = %.1f' %(x,f(x)))
第2章-3 阶梯电价
s = float(input())
c = 0
if s <= 0:
print('Invalid Value!')
elif s <= 50:
c = s * 0.53
print('cost = %.2f'%c)
else:
c = 50 * 0.53 + (s-50) * 0.58
print('cost = %.2f'%c)
第2章-4 特殊a串数列求和
a, n = map(int, input().split())
def cc(a, n):
sum = 0
for i in range(n):
c = a
for j in range(i):
c = c *10 + a
sum += c
return sum
print('s =',cc(a, n))
第2章-5 求奇数分之一序列前N项和
n = int(input())
def su(n):
s = 0
for i in range(1, n+1):
s += 1/(2*i - 1)
return s
print('sum = %.6f'%su(n))
第2章-6 求交错序列前N项和
n = int(input())
def su(n):
s = 0
for i in range(1, n+1):
k = i/(2*i -1)
if i%2 ==0:
s -= k
else:
s += k
return s
print('%.3f'%su(n))
第2章-7 产生每位数字相同的n位数
a, b = map(int, input().split(','))
print('%d'%a*b)
第2章-8 转换函数使用
num, kind = input().split(',')
print(int(num, base=int(kind)))
第2章-9 比较大小
print(*sorted(map(int,input().split())),sep="->")
第2章-10 输出华氏-摄氏温度转换表
lower, upper = map(int, input().split())
if lower > upper or upper > 100:
print('Invalid.')
else:
print('fahr celsius')
for i in range(lower, upper + 1, 2):
c = 5 * (i - 32)/9
print("{:d}{:>6.1f}".format(i,c))
第2章-11 求平方与倒数序列的部分和
m, n = map(int, input().split())
s = 0
for i in range(m, n+1):
s = s + i**2 + 1/i
print('sum = %.6f'%s)
第2章-12 输出三角形面积和周长
import math
a, b, c = map(int, input().split())
if a + b >c and a + c > b and b + c > a:
zc = a +b + c
s = zc/2
area = math.sqrt(s*(s-a)*(s-b)*(s-c))
print('area = %.2f; perimeter = %.2f' %(area,zc))
else:
print('These sides do not correspond to a valid triangle')
第2章-13 分段计算居民水费
x = int(input())
if x <= 15:
y = 4*x/3
else:
y = 2.5 * x -17.5
print('%.2f'%y)
第2章-14 求整数段和
a, b = map(int, input().split())
s, c= 0, 0
for i in range(a, b+1):
s = s + i
c = c + 1
print("{:>5d}".format(i),end="")
if c % 5 == 0 or i == b:
print('')
print('Sum =',s)
第3章-1 大于身高的平均值
list = list(map(int, input().split()))
s = 0
for i in range(len(list)):
s = s + list[i]
avg = s/len(list)
for i in range(len(list)):
if list[i] > avg:
print(list[i],end=" ")
第3章-2 查验身份证
def judge(mlist, jlist, flist):
sum = 0
x = 0
lnum = mlist[-1]
mlist = mlist[:17]
for i in mlist:
if i >= '0' and i <= '9':
sum += int(i) * flist[x]
x += 1
else:
return False
re = sum % 11
if jlist[re] == lnum:
return True
else:
return False
num = int(input())
cnt = 0
jlist = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
flist = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
for i in range(num):
mlist = input()
if judge(mlist, jlist, flist) == False:
print(mlist)
else:
cnt = cnt + 1
if cnt == num:
print("All passed")
第3章-3 输出字母在字符串中位置索引
list = list(input())
a, b = input().split()
list.reverse()
for i in range(len(list)):
if list[i] == a:
print(len(list) - i -1, end = " ")
print(a)
elif list[i] == b:
print(len(list) - i -1, end = " ")
print(b)
第3章-4 查找指定字符
a = input()
list = list(input())
list.reverse()
k = -1
for i in range(len(list)):
if list[i] == a:
k = len(list) - i - 1
break
if k == -1:
print("Not Found")
else:
print('index =',k)
第3章-5 字符转换
list = list(input())
t = ""
for i in range(len(list)):
if "0" <= list[i] <= "9":
t = t + list[i]
print(int(t))
第3章-6 求整数序列中出现次数最多的数
from collections import Counter
list = list(map(int, input().split()))
list.pop(0)
cnt = Counter(list)
print(*cnt.most_common(1)[0])
第3章-7 求最大值及其下标
n = int(input())
list = list(map(int,input().split()))
max = list[0]
k = 0
for i in range(1, len(list)):
if list[i] > max:
max = list[i]
k = i
print(max, k)
第3章-8 字符串逆序
list = input()
print(list[::-1])
第3章-9 字符串转换成十进制整数
s = input().upper()
end = s.index('#')
s_eff = s[:end]
sixteen = list('0123456789ABCDEF')
li = []
flag = 1
for i in s_eff:
if i in sixteen:
li.append(i)
if not li:
print(0)
else:
if '-' in s_eff:
if s_eff.index('-') < s_eff.index(li[0]):
flag = -1
number = int(''.join(li),16)
print(number*flag)
第3章-10 统计大写辅音字母
cs = input()
yy = ['A', 'E', 'I', 'O', 'U']
c = 0
for i in range(len(cs)):
if cs[i] >='A' and cs[i] <= 'Z':
if cs[i] not in yy:
c = c + 1
print(c)
第3章-11 字符串排序
list = input().split()
list.sort()
print("After sorted:")
for i in range(len(list)):
print(list[i])
第3章-12 求整数的位数及各位数字之和
n = input()
sum = 0
for i in n:
sum = sum + int(i)
print(len(n), sum)
第3章-13 字符串替换
s = list(input())
for i in range(len(s)):
if 'A' <= s[i] <= 'Z':
s[i] = chr(ord('A') + ord('Z') - ord(s[i]))
print(''.join(s))
第3章-14 字符串字母大小写转换
s = list(input())
s.pop(-1)
for i in range(len(s)-1):
if 'a' <= s[i] <= 'z':
s[i] = chr(ord(s[i]) - 32)
elif 'A' <= s[i] <= 'Z':
s[i] = chr(ord(s[i]) + 32)
print(''.join(s))
第3章-15 统计一行文本的单词个数
s = input().split()
print(len(s))
第3章-16 删除重复字符
s = list(set(input()))
s.sort()
print(''.join(s))
第3章-17 删除字符
s=input().strip()
n=input().strip()
s=s.replace(n.upper(),"")
s=s.replace(n.lower(),"")
print("result: %s"%s)
第3章-18 输出10个不重复的英文字母
st = input()
list = []
for i in st:
if i.isalpha() and i.lower() not in list and i.upper() not in list:
list.append(i)
if len(list) < 10:
print("not found")
else:
print(*list[:10], sep="")
第3章-19 找最长的字符串
n = int(input())
max = 0
maxstr = ""
for i in range(n):
st = input()
if max < len(st):
max = len(st)
maxstr = st
print("The longest is: %s" %maxstr)
第3章-20 逆序的三位数
n = input()
a = int(n[0])
b = int(n[1])
c = int(n[2])
print(a + b * 10 + c * 100)
第3章-21 判断回文字符串
s = input()
s1 = s[::-1]
print(s)
if s == s1:
print('Yes')
else:
print('No')
第3章-22 输出大写英文字母
s = list(input())
flag = 0
t = []
for i in range(len(s)):
if 'A' <= s[i] <= 'Z' and s[i] not in t:
flag = 1
t.append(s[i])
if flag == 1:
print("".join(t))
else:
print("Not Found")
第4章-1 生成3的乘方表
import math
n = int(input())
for i in range(n+1):
print('pow(3,%d) = %d' %(i, math.pow(3, i)))
第4章-2 统计素数并求和
import math
def isPd(n):
flag = 1
if n == 1:
flag = 0
for i in range(2, int(math.sqrt(n) + 1)):
if n % i == 0:
flag = 0
break
return flag
m, n = map(int, input().split())
count, sum = 0, 0
for i in range(m, n + 1):
if isPd(i) == 1:
sum += i
count += 1
print(count, sum)
第4章-3 猴子吃桃问题
n = int(input())
a = 1
for i in range(1, n):
a = (a + 1) * 2
print(a)
第4章-4 验证“哥德巴赫猜想”
import math
n = int(input())
def isPrime(n):
flag = 1
if n == 1:
flag = 0
for i in range(2, int(math.sqrt(n) + 1)):
if n % i == 0:
flag = 0
break
return flag
for i in range(2, n):
if isPrime(i) == 1 and isPrime(n - i) == 1:
print('%d = %d + %d' %(n, i, n-i))
break
第4章-5 求e的近似值
n = int(input())
def muTi(n):
s = 1
for i in range(1, n + 1):
s *= i
return s
sum = 1
for i in range(1, n + 1):
sum += 1/muTi(i)
print('%.8f' %sum)