首先第一题,input()是一直输入到回车为止空格也被输入了
然后是关于Ascii码在Python里怎么用的问题
Int 和字符串怎么转换
字符串怎么初始化
其实不考虑数字而用索引会快很多
字符串的索引查找
print默认是打印一行,结尾加换行。end=' '意思是末尾不换行,加空格。
a=input()
ABC='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
CBA='DEFGHIJKLMNOPQRSTUVWXYZABCdefghijklmnopqrstuvwxyzabc'
Len=len(a)
for i in range(Len):
c=a[i]
if c in ABC:
x=ABC.index(c)
print(CBA[x],end="")
else:
print(c,end="")
print()
第二题 算微积分
我用C也不会编啊,这和学的真的有关系?
按照网上的方法做了一个
import numpy as np
from scipy.integrate import quad
temp=input()
x=int(temp)
def integrand(t):
return (1+1/x)**(x)
I = quad(integrand, 0, x)
print(I)
结果说numpy库不是python自带的,笑死
听班上的同学说,这题用切成1去乘就行了……我服了,那你题目为啥不标出来精度要求
temp=input()
x=int(temp)
def f(x):
return (1+1/x)**x
sum_ = 0
for i in range(x):
sum_ += f(i+1)
print(format(sum_,'.8f'))
这里的输出精度要求还挺有意思
整数的话(没d就原样输出
第三题计算时间差值,我去看了老师讲的,要用的方法压根没提
import time
time1,time2 = input().split(',')
day1 = time.strptime(str(time1), '%Y年%m月%d日%H点%M分%S秒')
day2 = time.strptime(str(time2), '%Y年%m月%d日%H点%M分%S秒')
day_num = (int(time.mktime(day2)) - int(time.mktime(day1))) / (24 * 60 * 60)
print(int(day_num))
strptime就是把字符串转为电脑能识别的时间,
第四题
def dayup(fp):
day =1.0
daydown=0.01
for i in range(365):
if i%7 in [6,0]:
day*=(1-daydown)
else :
day*=(1+fp)
return day
dp=0.01
while dayup(dp)<37.78:
dp+=0.001
print("工作日的努力参数是: {:.3f}".format(dp))
第五题
C语言入门循环题
让print不换行
for letter in letters.keys():
for i in range(letters[letter]):
print(letter,end='')
temp=input()
y=int(temp)
x=(y+1)/2
x=int(x)
for i in range(x):
for j in range(x-i-1):
print(" ",end="")
for k in range(2*i+1):
print("*",end="")
for l in range(x-i-1):
print(" ",end="")
print()