仅供参考(其实就是方便我复习嘿嘿)因为是从这才开始想起来,but前面代码简单,后期再过一次就行
(未完结)
3.17更新,刚刚发现后面的代码没有写上去,发现老师已经关闭了题库,我没法更新了,所以只更新到第六章,需要后面的不用看我的咯
2.5
#2.5用户登录
a=input("")
b=input("")
if a=="abc123" and b=="abc123":
print("欢迎进入")
else:
print("有误,请重新输入!")
2.6
#2.6 反转一个整数
x=input()
y=x[::-1]#x[::-1]为反转
if y[-1]=='-':
y='-'+y[:-1].strip('0')# y[:-1]为去除最后一位
else:
y=y.strip('0')#strip为删除首位的(指定)
print(y)
2.7
#2.7 a除以b
a=eval(input())
b=eval(input())
if b==0:
print('除零错误')
else:
print(f'{a/b:0.2f}')
#print(round(a/b,2)) 这种测试如果是只有一位的话,好像只有一位输出,还是以机测为准吧
#2.8身高测算
a=eval(input())
b=eval(input())
c=input()
num=0
if c=='男':
num=((a+b)*1.08)/2
elif c=='女':
num=(a*0.923+b)/2
else:
print('无对应公式')
print(int(num))
2.9(*多看一下,不代表会考)
#英寸和厘米的交互(升级版)
a=input()#i inch c cm
if a[-1]=='c':
print(f'{(eval(a[:-1])/2.54):0.2f}inch')#删除最后一位c,强转eval
elif a[-1]=='i':
print(f'{(eval(a[:-1])*2.54):0.2f}cm')
elif a[-2:]=='cm':#这个字符串代表什么记不住可以现场试试,虽然耗时,但也还好
print(f'{(eval(a[:-2])/2.54):0.2f}inch')#:在前就是删除吧(我也记不住呀!)
elif a[-4:]=='inch':
print(f'{(eval(a[:-4])*2.54):0.2f}cm')
else:
print('输入错误。')
a=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
a[-1] #列表a的最后一个元素#
12a[:] #列表a的从0号元素到最后一个元素#
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]a[:-1] #列表a的从0号元素到倒数第二个元素(不包含最后一个)#
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]a[::-1] #倒叙列表a的全部元素#
[12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]a[::-2] #倒叙列表a的全部元素(步距为2)#
[12, 10, 8, 6, 4, 2, 0]a[2:] #从列表a的第2号元素到最后#
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]a[2:5] #从列表a的第2号元素到第4号元素(特别注意,这里不包含第5号元素)#
[2, 3, 4]a[2::] # #从列表a的第2号元素到最后一个元素(步距为1)#
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]a[2:8:2] #从列表a的第2号元素到第8号元素(步距为2,特别注意,这里不包含第8号元素)#
[2, 4, 6]a[2::5] #从列表a的第2号元素到最后(步距为5)#
[2, 7, 12]a[2::-1] #从列表a的第2号元素倒叙#
[2, 1, 0]
原文链接:https://blog.csdn.net/weixin_52810787/article/details/116497177
2.10
#2.10天天向上的力量 B
N=eval(input(''))
up=pow((1.0+0.001*N),364)
down=pow((1.0-0.001*N),364)
a=int(up//down)#取整数
print(f'{up:0.2f},{down:0.2f},{a}')
3.1
#3.1判断数值类型
a=input()
if 'j' in a:
print('复数')
elif '.' in a:
print('浮点数')
else:
print('整数')
3.2
#3.2一元二次方程求根
a=eval(input())
b=eval(input())
c=eval(input())
delta=b*b-4*a*c
if a==0 and b==0:
print('Data error!')
elif a==0 and b!=0:
print(f'{-c/b:0.2f}')
elif a!=0:
if delta<0:
print('该方程无实数解')
elif delta==0:
print(f'{(-b/2*a):0.2f}')
elif delta>0:
x1=(-b+delta**0.5)/2*a
x2=(-b-delta**0.5)/2*a
print(f'{x1:0.2f} {x2:0.2f}')
3.3(参考答案为导入string库,利用自带的ascl和digit来计数)
#3.3分类统计字符个数A
a=input()
l=d=o=0
for i in range(len(a)):
if '0'<=a[i]<='9':
d=d+1
elif 'A'<=a[i]<='Z' or 'a'<=a[i]<='z':
l=l+1
else:
o=o+1
print(f'letter = {l}, digit = {d}, other = {o}')
#3.3分类统计字符个数A
import string
a=input()
l=d=o=0
for i in a:#遍历字符串
if i in string.ascii_letters:
l=l+1
elif i in string.digits:
d=d+1
else:
o=o+1
print('letter = {},digit = {},other = {}'.format(l,d,o))
3.4
#3.4判断三角形并计算面积
a=eval(input())
b=eval(input())
c=eval(input())
p=(a+b+c)/2#海伦公式
if a+b>c and a+c>b and b+c>a:
print("YES")
print('{:.2f}'.format((p*(p-a)*(p-b)*(p-c))**0.5))
else:
print("NO")
3.5
#3.5个税计算器
gz=eval(input())
s=gz-5000
if 0<=gz<=5000:
print(f'应缴税款0元,实发工资{gz:0.2f}元。')
elif gz<0:
print('error')
else:
if s<3000:
s=s*0.03-0
elif s<12000:
s=s*0.1-210
elif s<25000:
s=s*0.2-1410
elif s<35000:
s=s*0.25-2660
elif s<55000:
s=s*0.3-4410
elif s<80000:
s=s*0.35-7160
else:
s=s*0.45-15160
print(f'应缴税款{s:0.2f}元,实发工资{gz-s:0.2f}元。')
3.6
#3.6出租车计费
s,t=map(int,input().split(','))#同一行输入****记住!
if s<3:
m=13
elif s<15:
m=2.3*(s-3)+13
elif s>15:
m=2.3*1.5*(s-15)+13
if t>0:
m=m+t
print(int(m))
3.7
#3.7身体质量指数BMI
s,t=map(float,input().split(','))
BMI=round(t/s**2,2)#round 浮点数四舍五入值
if BMI<18.5:
print(f'BMI数值为:{BMI}')
print('BMI的指标为:国际‘偏瘦’,国内’偏瘦‘')
elif 18.5<=BMI<24:
print('BMI数值为:{0}'.format(BMI))
print('BMI的指标为:国际’正常’,国内’正常‘')
else:
if BMI==24:
print('BMI数值为:{0}'.format(BMI))
print('BMI的指标为:国际’正常’,国内’偏胖‘')
elif 25<=BMI<28:
print('BMI数值为:{0}'.format(BMI))
print('BMI的指标为:国际’偏胖’,国内’偏胖‘')
else:
if 28<=BMI<=29:
print('BMI数值为:{0}'.format(BMI))
print('BMI的指标为:国际’偏胖’,国内’肥胖‘')
else:
print('BMI数值为:{0}'.format(BMI))
print('BMI的指标为:国际’肥胖’,国内’肥胖‘')
3.8
#3.7水费计算
w=eval(input())
if w<=10:
x=w*0.32
elif w<=20:
x=3.2+(w-10)*0.64
else:
x=3.2+6.4+(w-20)*0.96
print(x)
3.9(题都一样的,懒得写了,看吧)
#3.9打折
value=eval(input())
if value<1000:
print('折后价:{:.1f}元。'.format(value))
elif 1000<=value<2000:
value=value*0.95
print('折后价:{:.1f}元。'.format(value))
else:
if 2000<=value<3000:
value=value*0.9
print('折后价:{:.1f}元。'.format(value))
elif 3000<=value<5000:
value=value*0.85
print('折后价:{:.1f}元。'.format(value))
else:
value=value*0.8
print('折后价:{:.1f}元。'.format(value))
4.1
#4.1求和
import string
a=input()
c=0
for i in a:
if i>='0' and i<='9':
c=c+eval(i)
if c==0:
print('输入字符串中无数字')
else:
print(f'数字之和是{c}')
4.2
#4.2李白买酒
jiu=0
for i in range(5):
jiu = jiu + 1#后遇花才会喝完,所以要先加1
jiu=jiu/2
print(jiu)
4.3
#4.3人生苦短我用python
n=int(input())#必须输入int
x='人生苦短我用python'
for i in range(n):
print(f'{x[i]}',end=',')#end可以不用自动换行
4.4
#4.4计算整数各位数字之和
a=input()#当作字符串输入
c=0
for i in a:
c+=int(i)
print(c)
4.5(***)
#4.5阶乘求和
n=int(input())
i=j=1
sum=0
while n>=i:
j=j*i
sum=sum+j
i=i+1
print(sum)
4.6
#4.6用for循环求100以内的素数
for i in range(2,101):
f=0
for j in range(2,i-1):
if i%j==0:
f=1
break
if f==0:
print(i,end=' ')
4.7
#4.7十进制整数转二进制
a=eval(input())
s=''
if a==0:
s='0'
while a!=0:
s=s+str(a%2)
a=a//2
print(s[::-1])
#4.7十进制整数转二进制
a=eval(input())
b=bin(a)[2:]#去掉前面的0b
print(b)
4.8
#4.8用户登录的三次机会(笨办法)
a=input()
b=input()
if a=='Kate' and b=='666666':
print('登陆成功!')
else:
a=input()
b=input()
if a == 'Kate' and b == '666666':
print('登陆成功!')
else:
a = input()
b = input()
if a == 'Kate' and b == '666666':
print('登陆成功!')
else:
print('3次用户名或者密码均有误!退出程序。')
#4.8用户登录的三次机会(循环)
c=0
while c<3:
a=input()
b=input()
if a=='Kate' and b=='666666':
print('登陆成功!')
else:
c=c+1
if(c==3):
print('3次用户名或者密码均有误!退出程序。')
4.9
#4.9输出菱形
n=eval(input())
for i in range(n-1):
print(' '*(n-i-1)+"*"*(2*i+1))
for i in range(n):
print(" "*(i)+"*"*(2*(n-i)-1))
4.10
#4.10百钱买百鸡B
num,money=map(int,input().split())
f=0
for x in range(1,money//5+1):
for y in range(1,money//3+1):
z=num-x-y
if z%3==0 and z>0 and x*5+y*3+z//3==money:
print(x,y,z)
f=1
if f==0:
print('无解')
5.1
#5.1分段函数计算
try:
x=eval(input())
if x<500:
y=x
elif x<1000:
y=1.5*x
elif x<2000:
y=2*x
else:
y=3*x
print(y)
except:
print('输入错误')
5.2
#5.2循环结构程序设计2
for i in range (5):
print(str(i)*(i+1))
for i in range(5):
print(str(i+5)*(5-i))
5.3
#5.3使用蒙特卡洛法求出曲线y=x*x与x轴之间在0-1范围内的面积
import random as rd
rd.seed(10)#种子数
cnt=0
for i in range(100000):
x=rd.random()
y=rd.random()
if y
5.4
#5.4二分法求平方根
def sqrt_binary(n):
low,high=0,n
while True:
mid=(high+low)/2
if abs(mid**2-n)<=1e-6:
return mid
elif mid**2-n<0:
low=mid
else:
high=mid
n=eval(input())
x=sqrt_binary(n)
print(x)
print(n**0.5)
5.5
#判断火车票座位
n=input()
try:
if 2<=len(n)<4 and '1'<=n[:-1]<='17':
if n[-1] in ['A','a','f','F']:
print('窗口')
elif n[-1] in ['B','b']:
print('中间')
elif n[-1] in ['C','c',"D",'d']:
print('过道')
else:
print('座位号不存在')
else:
print('座位号不存在')
except:
print('座位号不存在')
5.6
#计算圆周率
yu=eval(input())
k=pi=0
f=1
while abs(1/(2*k+1))>=yu:
pi=pi+f*1/(2*k+1)
k=k+1
f=-f
print(f'{pi*4:0.6f}')
5.7
#找数字,做加法
a=input()
b=input()
s1=s2=''
if a.count('.')>1 or b.count('.')>1:
print('输入错误')
else:
for i in a:
if '0'<=i<='9' or i=='.':
s1=s1+i
for i in b:
if '0'<=i<='9' or i=='.':
s2=s2+i
print(eval(s1)+eval(s2))
5.8
n=int(input())#计算从1到n个月的兔子
f0=f1=1#第1,2个月
f=f0+f1#第3个月
i=3
while i
5.9
#5.9身份证号码校验
xs=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
id=input()
sum=0
for i in range(17):
sum=sum+xs[i]*int(id[i])
if (id[17])=='X':
if sum%11==2:
print('身份证号码校验为合法号码!')
else:
print('身份证校验位错误!')
elif (sum%11+int(id[17]))%11==1:
print('身份证号码校验为合法号码!')
else:
print('身份证校验位错误!')
6.1
#6.1编写打印星号三角函数
def sj(n):
for i in range(n):
print(' '*(3-i)+'*'*(2*i+1))
sj(2)
sj(3)
sj(4)
6.2
#6.2计算从n到m和的函数
def sum(n,m):
s=0
for i in range(n,m+1):
s=s+i
return s
n,m=map(int,input().split(','))
print(sum(n,m))
6.3
#6.3判断ip地址合法性
def IP(ip):
s=ip.split('.')#s={'202','116','222','10'}
if len(s)!=4:
return'No'
else:
for i in range(4):
if '0'<=s[i]<='255':
return 'Yes'
else:
return "No"
ip=input()
print(IP(ip))
6.4
#6.4使用闰年函数
def run(n):
if n%400==0 or (n%100!=0 and n%4==0):
return 'True'
else:
return 'False'
for i in range(2010,2021):
if run(i)=="True":
print(i)
6.5
#6.5校验身份证号码并输出个人信息
def id(s):
sum=0
xs=(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2)
for i in range(17):
sum=sum+xs[i]*int(s[i])
if s[17]=='X':
if sum%11==2:
return True
elif (sum%11+int(s[17]))%11==1:#从题目中找到规律
return True
else:
return False
s=input()
if id(s):
print('身份证号码校验为合法号码!')
print(f'出生:{s[6:10]}年{s[10:12]}月{s[12:14]}日')
if int(s[16])%2==1:#注意转换为int
print('性别:男')
else:
print('性别:女')
else:
print('身份证校验位错误!')
6.6
#6.6哥德巴赫猜想
def Isprime(n):
for i in range (2,n):
if n%i==0:
return False
return True
n=int(input())
if n%2==1:
print('Data error!')
else:
for i in range(2,n-1):
if Isprime(i) and Isprime(n-i):
print(f'N = {i} + {n-i}')
break
6.7
#6.7判断素数函数
def isPrime(n):
for i in range(2,n):
if n%i==0:
return 0
return 1
n=int(input())
for i in range (2,n+1):
if isPrime(i)==1:
print(i,end=' ')
6.8
#本月天数
def is_leap(year):
"""判断year是否为闰年,闰年返回True,非闰年返回False"""
if year%400==0 or (year%100!=0 and year%4==0):
return True
else:
return False
def days_of_month(date_str):
"""根据输入的年月日,返回该月的天数"""
year = int(date_str[0:4])
month = int(date_str[4:6])
if month == 2 and is_leap(year):
return '29'
elif month == 4 or month == 6 or month == 9 or month == 11:
return '30'
elif (month == 1 or month == 3 or month == 5 or month == 7 or month == 8 or month == 10 or month == 12):
return '31'
else:
return '28'
if __name__ == '__main__':
date_in = input() # 输入一个年月日
print(days_of_month(date_in))
6.9(**)
#6.9汉诺塔
def move(n,a,b,c):
if n==1:
print(a,'-->',c)
else:
move(n-1,a,c,b)
print(a,'-->',c)
move(n-1,b,a,c)
n=eval(input())
a,b,c=input().split()
move(n,a,b,c)
6.10(**)
#6.10递归
def jz(n,k):
if n>0:
return jz(n//k,k)+str(n%k)
else:
return ''
n,k=map(int,input().split(','))
print(jz(n,k))
6.11
#6.11最大公约数
def gys(m,n):
if m%n==0:
return n
else:
return gys(n,m%n)
m,n=map(int,input().split(','))
print(gys(m,n))
7.1(ip合法性)
7.2(统计次数s.count)