条件语句学习总结
-
关于python和C#中的条件语句,觉得需要注意的是python中的语句都是在命令后加上‘:’输出的,通过缩进来识别。而C#则是用花括号{}将语句括起来执行
-
单个If中的操作符可以通过布尔类型中的and,not,or来实现多重判断
-
学到了关于Input的用法:"input()"括号内输入描述性文字可以用来实现python的输入和对输入框的描述性判断
另外要注意的是Input将输入的数据默认为str,在用作bool判断时需要将其强制转换为Int类型 -
在python中if-eliif-else为对某事的多重判断,相当于C#中的if-else-else
-
assert关键词被称为“断言”,当这个关键词后面的条件为False时,程序自动崩溃抛出assertionerror异常
循环语句学习总结
-
while后写入一个非零整数时,视为真值,执行循环体。写入0时视为假值,不执行循环体
-
关于string=string[1:],意思是某字符串等于从它第2个元素开始到末尾,即string=‘bcd’.以此类推该用法。
-
关于for循环的使用。格式如 for a in "dengao"会将该字符串的每一字母遍历,再用print输出结果即可
-
关于range函数,有
for i in range(2,9): print(i)
会输出2~8的数字,该序列包含start的值却不包含stop的值
-
关于enumerate函数:enumerate(sequence, [start=0]),该函数是将某一序列按下标为0开始计数并返回。譬如
-
break语句可以跳出当前循环,而continue语句则可以用来终止本轮循环并开始下一轮循环。
-
pass语句是用来跳过某一段代码,你在需要写语句的地方不写任何语句,pass就是用来解决这些问题的
-
推导式,用下面几个例子作为参考理解:
练习题:
1.排序代码如下:
b = {i for i in range(1500,2701) if i%5==0 and i%7==0}
print(b)
2.龟兔赛跑游戏
v1,v2,t,s,l=map(int,input().split())
a=float(t*v1/(v1-v2))
b=float((v2*s-t)*v1/(v1-v2))
c=float(t/(v1-v2)+s+(v2*s-t)/(v1-v2))
d=float(v1*(s*v2)/(v1-v2))
e=v1*t/(v1-v2)
if t>v2*s:
print("R")
if l>e:
print(t//(v1-v2)+((l-e)//d)*(c+s)+((l-e)%d)//v1+s)
else:
print(l//v1)
elif 0<l%(a+b)<a:
print("R")
print(c*(l//(a+b))+(1%(a+b))//v1)
elif l%(a+b)>a:
print("T")
print(l//v2)
else:
print("D")
print(l//v2)