四. Python基础(4)--语法

1 ● 比较几种实现循环的代码

i = 1

sum = 0

while i <= 10: # 循环10-1+1=10次

    sum += i

    i += 1

print(sum)

 

sum = 0

for i
in range(1, 11): # 循环11-1=10次

    sum += i

print(sum)

 

i = 0

sum = 0

while True:

    i += 1

    if i <=10:

        sum += i

    else:

        break

print(sum)

试着对照C语言的代码:

#include <stdio.h>

 

void
main()

{

    int
sum=0;

    int
i;

    for(i=1;i<=10;i++) # 循环10-1+1=10次

        sum+=i;

    printf("%d", sum);

    getchar();

}

 

//等价于:

void
main()

{

    int
sum=0;    

    int
i = 1;

        while(i<=10){

            sum+=i;

            i++;

        }

 

    printf("%d", sum);

    getchar();

}

 

2 ● while循环和for循环

for循环--一般用于有限循环

while循环—一般用于无线循环

 

3 ● range()和xrange()

# py2中:

# range(),用于生成连续的数字,列表类型

# xrange(),用于生成连续的数字,for循环时才能使用,返回一个生成器(generator, 也是一种数据类型)

 

# py3中

# range() = py2的xrange(), for循环时才能使用,返回一个生成器

for i in range(10):

    print(i, end = " ")

print("\n")

for i in range(1, 11): # 默认步长为1

    print(i, end = " ")

print("\n")

for i in range(10, 0, -1):

    print(i, end = " ")

print("\n")

for i in range(0, 11, 2):

    print(i, end = " ")

print("\n")

for i in range(10, 0, -2):

    print(i, end = " ")

0 1 2 3 4 5 6 7 8 9

 

1 2 3 4 5 6 7 8 9 10

 

10 9 8 7 6 5 4 3 2 1

 

0 2 4 6 8 10

 

10 8 6 4 2

 

4 ● 对于input()函数得到的字符串, 如果希望是数字, 一般要做如下检验和处理:

① strip()

index = index.strip()

② isdecimal

if index.isdecimal()

③根据实际需求判断index的范围

 

5 ● 可迭代对象

for循环的,就是可迭代对象

有关可迭代对象, 详见:

http://python.jobbole.com/87805/

 

6 ● 代码案例(flag = True/False)

# li = ['alex', 'eric' ,'rain']

# 利用下划线将列表的每一个元素拼接成字符串"alex_eric_rain"

li = ["alex", "eric", "rain"]

msg = ""

is_first = True

for item in li:

    if is_first:

        msg += item

        is_first = False

    else:

        msg += "_" + item

print(msg)

 

msg = ""

is_first = True

for item in li:

    if is_first:

        tmp = item

        is_first = False

    else:

        tmp = "_" + item

    msg += tmp # 这一步必然执行!!!!!

print(msg)

 

7 ● 字符串按每行三个字母显示, 并计算可显示多少行?

index = 0

content = input("请输入字符串:")

 

for i in content:

    index += 1

    if index % 3 == 0:

        print(i, end= "\n")

    else:

        print(i, end = " ")

print("\n")

if len(content) % 3 == 0:

    count = len(content) / 3

else:

    count = int(len(content)/3) + 1 # 也可以用len(content)//3

print(count)

 

8 ● 有关作用域

# 只要一个语句执行了, 那么这个语句内的变量就会放在内存, 即允许使用.

# if 1 == 1:

#     name = '123'

# print(name) # 123

 

# 上面的案例如果是在C/C++, Java中会报错, 因为name的作用域只在if语句内

 

# if 1!=1:

#     name = '123'

# print(name) # 报错

 

# 如果变量名未定义,则报错.

a = 0

while True:

    a = a + 1

    if a >= 10:

        break

print(a) # 10

 

 

9 ● split知识扩充

formula = input("请输入加法算式:")

a,b = formula.split("+")

print(int(a) + int(b))

请输入加法算式: 5 + 9

14

formula = input("请输入加法算式:")

tmp = formula.split("+", 1) # ['5', '8+9'], 1表示分割次数

# tmp = formula.split("+", 2) # 5+8+9

print(tmp)

四. Python基础(4)--语法的更多相关文章

  1. 二. Python基础(2)--语法

    二. Python基础(2)--语法 1.实现一个简单的登录系统 '''# 形式1 n = 1 while n < 4:     name = input("请输入姓名\n" ...

  2. 二十四. Python基础(24)--封装

    二十四. Python基础(24)--封装 ● 知识结构   ● 类属性和__slots__属性 class Student(object):     grade = 3 # 也可以写在__slots ...

  3. 十四. Python基础(14)--递归

    十四. Python基础(14)--递归 1 ● 递归(recursion) 概念: recursive functions-functions that call themselves either ...

  4. 六. Python基础(6)--语法

    六. Python基础(6)--语法 1 ● Python3中, Unicode转字节的方法 print(bytes("李泉", encoding = 'utf-8')) prin ...

  5. 五. Python基础(5)--语法

    五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...

  6. 三. Python基础(3)--语法

    三. Python基础(3)--语法 1. 字符串格式化的知识补充 tpl = "我是%s,年龄%d,学习进度100%" %('Arroz',18) print(tpl) # 会提 ...

  7. 一. Python基础(1)--语法

    一. Python基础(1)--语法 1. 应用程序 1.1 什么是计算机(Computer)? 组成 ①运算器 arithmetic unit; ※ Arithmetic unit and cont ...

  8. Python基础:语法基础(3)

    本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...

  9. Python基础__Python语法基础、条件、循环

    之前主要讨论的是Python的对象,这本节将第一次走进Python的语言之旅,将会介绍条件与循环.本节我们将会涉及到复合语句,简要介绍一下Python的语法规则是有必要的Python语法规则 1.语句 ...

随机推荐

  1. windows安装使用docker

    doker就是一个容器,如果想要在windows安装还必须要用另外一个工具docker-toolbox.下载地址:https://mirrors.aliyun.com/docker-toolbox/w ...

  2. 【转】 strrchr()函数---C语言

    转自:https://baike.baidu.com/item/strrchr/4621437?fr=aladdin   函数名称: strrchr 函数原型:char *strrchr(const ...

  3. HTTP Status 405 - HTTP method GET is not supported by this URL

    问题概述: 借助MyEclipse直接建立了一个Servlet类,每次访问这个Servlet都能访问.可自己建立一个Servlet为什么总提示:HTTP Status 405 - HTTP metho ...

  4. JS实现悬浮导航的制作(附源码)--web前端

    思想:导航在这里只有两种状态,一种是初始状态.一种是固定布局状态.实现悬浮导航其实就是通过Javascript脚本语言控制导航的两种状态,主要是对两种状态成立条件的判断,明确了这些,实现起来就不会太难 ...

  5. 静默安装/ 普通安装与root权限获取相关

    静默安装 有时候使用第三方的插件时我们需要静默安装其提供的apk包,静默安装时我们需要获取root权限,如下代码 Process process = Runtime.getRuntime().exec ...

  6. Confluence 6 文档主题合并问答

    在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用.我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将 ...

  7. Arthur and Brackets CodeForces - 508E (贪心,括号匹配)

    大意: n个括号, 位置未知, 给出每对括号左右间距, 求输出一个合法括号序列. 最后一个括号间距一定为1, 从右往左遍历, 每次括号划分越小越好. #include <iostream> ...

  8. 统计数组中各个元素出现的次数,元素取值范围为:1到N

     问题描述: * 给定一个整数数组a,长度为N,元素取值范围为[1,N]. * 统计各个元素出现的次数,要求时间复杂度为O(N),空间复杂度为O(1). * 可以改变原来数组结构.  思路: * 从第 ...

  9. 2017-6-5/MySQL分库分表

    分库分表,顾名思义,就是把原本存储于一个库一张表的数据分块存储到多个库多张表上.对于大型互联网应用来说,当一张表的数据量达到百万.千万时,数据库每执行一次查询所花的时间会变多,并且数据库面临着极高的并 ...

  10. 将本地分支push到远程分支

    git push origin [localbranch]:[remotebranch]