• 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
    ",rt)
     9         
    10     elif tt<rt:
    11         print("T
    ",rt)
    12     else:
    13         print("D
    ",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
  • 相关阅读:
    codevs1004 四子连棋
    codevs1009 产生数
    NOIP2014 寻找道路
    Tyvj1139 向远方奔跑(APIO 2009 抢掠计划)
    随机算法
    线性基
    线性基入门
    线性基 + 并查集
    欧拉公式 (平面)
    卡特兰数 + 大数
  • 原文地址:https://www.cnblogs.com/mindy-snail/p/14165824.html
Copyright © 2020-2023  润新知