为了记录我的Python课,将我的作业发上来,欢迎各位大佬评鉴。如果你有什么更好的想法,请在下方评论或联系我。谢谢!
作业一:由行转逆列
描述
编写程序实现如下功能:
将用户输入的一行字符串,转为每个字符占一行逆序输出。具体输入输入请参阅本页最后“输入输出示例”。
代码:
print("\n".join(reversed(input())))
这是之前01号作业那次大佬给我提供的灵感。多谢大神!!!
作业二:天天向上的力量
描述
一年365天,以第一天的能力值为基数,记为1.0。当好好学习时能力值相比前一天提高千分之n,当没有学习时能力值相比前一天下降千分之n,每天努力和每天放任,一年下来的能力值相差多少呢?
代码:
n=eval(input())
W=pow((1.0+0.001*n),365)
P=pow((1.0-0.001*n),365)
print("你的输入为千分之{}。".format(n))
print("天天向上结果为:{:.2f}。".format(W))
print("天天放任结果为:{:.2f}。".format(P))
经验::.2f的含义是保留小数点后两位数字。
eval()函数真的很关键啊!之前一直在找错误,后来才发现是少了这个函数。这个函数的可以将字符串数据转换为数值型数据,但是我有一点不懂的是如果输入的是数字那么不能直接计算吗?为什么?
作业三:一道题练会加减乘除和乘方
描述
用户输入两个数字,分别输出这两个数字的和、差、积、商、整数商、余数、乘方。
代码:
x=eval(input())
y=eval(input())
print("{}+{}={}".format(x,y,x+y))
print("{}-{}={}".format(x,y,x-y))
print("{}*{}={}".format(x,y,x*y))
print("{}/{}={:.2f}".format(x,y,x/y))
print("{}除以{}的整数商={}".format(x,y,x//y))
print("{}除以{}的余数为={}".format(x,y,x%y))
print("{}的{}次方={}".format(x,y,x**y))
经验:这道题让我感受到了C语言和Python的不同。C语言中求余数是mod,Python中则是//,以及一些其他的差别。
作业四:分支公式
描述
编写程序实现如下功能:
用户输入一个数值型数据 x,如果 x > 10,则有 y = 2 * x -5,如果 x <= 10,则有 y = x + 6。编写程序接收用户输入的数值性数据(可以使用变量 x,也可以自行命名变量),按前述要求运算后输出 y 值(保留2位小数),具体输入输入请参阅本页最后“输入输出示例”。
代码:
import math
x=eval(input())
if x>10 :y=2*x-5
else :y=x+6
print ("{:.2f}".format(y))
经验:这道题主要有两个需要注意的点:一是if语句后的":" ,这是必须要写的,和VBA语言有点像;二是import math,数学库是必须要导入的,不导入程序就没办法执行。
作业五:求解[1,n]能被3整除的数
描述
编写程序实现如下功能:
用户输入一个数值型数据 n,程序按由小到大顺序按行输出区间[1,n]之间所有能被3整数的数字,具体输入请参阅本页最后“输入输出示例”。
代码:
import math
n=eval(input())
i=1
for i in range(1,n+1,1):
if i%3==0:print(i)
这道题是我时间卡的最长的一道题,先后调试了很多回,最后终于搞定了。总结如下:
1.i必须给一个初始定义值。emmmm....WHY?
2.加冒号啊加冒号,导入数学库。
3.step=1,需要写上。不知道为什么,不写上就调试不出来。
总而言之,这些问题在解决之后就觉得非常简单了,这些错误也很低级,分享出来,祝各位初学Python的同学不要再像我一样傻傻分不清了。