Day2--Python训练营
主要内容是条件语句,循环语句。
Python 提供与 if搭配使用的 else,如果 if语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。elif语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。assert 这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出 AssertionError 的异常。
while 语句最基本的形式包括一个位于顶部的布尔表达式,一个或多个属于 while 代码块的缩进语句。while 循环的代码块会一直循环执行,直到布尔表达式的值为布尔假。
如果布尔表达式不带有 <、 >、 ==、! =、 in、 not in 等运算符,仅仅给出数值之类的条件,也是可以的。当 while 后写入一个非零整数时,视为真值,执行循环体;写入 0 时,视为假值,不执行循环体。也可以写入 str、 list 或任何序列,长度非零则视为真值,执行循环体;否则视为假值,不执行循环体。
当 while 循环正常执行完的情况下,执行 else 输出,如果 while 循环中执行了跳出循环的语句,比如 break ,将不执行 else 代码块的内容。or 循环是迭代循环,在Python中相当于一个通用的序列迭代器,可以遍历任何有序序列,如 str、 list、 tuple 等,也可以遍历任何可迭代对象,如 dict 。for-else,当 for 循环正常执行完的情况下,执行 else 输出,如果 for 循环中执行了跳出循环的语句,比如 break ,将不执行 else 代码块的内容,与 while - else 语句一样。
练习题目:
1、编写一个Python程序来查找那些可以被7除余5的整数的数字,介于1500和2700之间。
x = [i for i in range(1500,2701) if (i%7)==5] print(x) [1503, 1510, 1517, 1524, 1531, 1538, 1545, 1552, 1559, 1566, 1573, 1580, 1587, 1594, 1601, 1608, 1615, 1622, 1629, 1636, 1643, 1650, 1657, 1664, 1671, 1678, 1685, 1692, 1699, 1706, 1713, 1720, 1727, 1734, 1741, 1748, 1755, 1762, 1769, 1776, 1783, 1790, 1797, 1804, 1811, 1818, 1825, 1832, 1839, 1846, 1853, 1860, 1867, 1874, 1881, 1888, 1895, 1902, 1909, 1916, 1923, 1930, 1937, 1944, 1951, 1958, 1965, 1972, 1979, 1986, 1993, 2000, 2007, 2014, 2021, 2028, 2035, 2042, 2049, 2056, 2063, 2070, 2077, 2084, 2091, 2098, 2105, 2112, 2119, 2126, 2133, 2140, 2147, 2154, 2161, 2168, 2175, 2182, 2189, 2196, 2203, 2210, 2217, 2224, 2231, 2238, 2245, 2252, 2259, 2266, 2273, 2280, 2287, 2294, 2301, 2308, 2315, 2322, 2329, 2336, 2343, 2350, 2357, 2364, 2371, 2378, 2385, 2392, 2399, 2406, 2413, 2420, 2427, 2434, 2441, 2448, 2455, 2462, 2469, 2476, 2483, 2490, 2497, 2504, 2511, 2518, 2525, 2532, 2539, 2546, 2553, 2560, 2567, 2574, 2581, 2588, 2595, 2602, 2609, 2616, 2623, 2630, 2637, 2644, 2651, 2658, 2665, 2672, 2679, 2686, 2693, 2700]
2、预测龟兔赛跑
1 def rd2(v1,v2,s,t,l): 2 tt=l/v2 3 4 n=int((tt-s/(v1-v2))/(t*v2/(v1-v2))) 5 6 rt=n*t+l/v1 7 if tt>rt: 8 print("R\n",rt) 9 10 elif tt<rt: 11 print("T\n",rt) 12 else: 13 print("D\n",tt) 14 15 rd(10,5,5,2,20) 16 17 D 18 4.0 19 20 rd(10,5,5,2,200) 21 22 R 23 22.0