全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 数据分析与数据挖掘
1454 2
2018-05-20
第7、8发,学习if条件控制和for_while循环及else语句块:
[url=]Python3学习笔记7-if条件控制.tx ...[/url]
[url=][url=]Python3学习笔记8-for_while循环 ...[/url][/url]
附件列表
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2018-8-20 18:01:02
# 2018.05.10
# by pengxw

# Python3 编程第一步

# 在前面的教程中我们已经学习了一些 Python3 的基本语法知识,下面我们尝试来写一个斐波纳契数列。

a, b = 0, 1
while b<10:
    print(b)
    a, b = b, a+b
       
# 这个例子介绍了几个新特征。
# 第一行包含了一个复合赋值:变量 a 和 b 同时得到新值 0 和 1。
# 最后一行再次使用了同样的方法,可以看到,右边的表达式会在赋值变动之前执行。右边表达式的执行顺序是从左往右的。

a, b = 0, 1
while b<10:
    print(b, end = ',')
    a, b = b, a+b
       

# Python3 条件控制
# Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。

# if 语句
# Python中if语句的一般形式如下所示:

# if condition_1:
    # statement_block_1
# elif condition_2:
    # statement_block_2
# else:
    # statement_block_3
# 如果 "condition_1" 为 True 将执行 "statement_block_1" 块语句
# 如果 "condition_1" 为False,将判断 "condition_2"
# 如果"condition_2" 为 True 将执行 "statement_block_2" 块语句
# 如果 "condition_2" 为False,将执行"statement_block_3"块语句
# Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。

# 注意:

# 1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
# 2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
# 3、在Python中没有switch – case语句。

# 奇偶数判断
n = int(input('请输入一个整数:'))
if n < 0 :
    print('错误:输入不是非负整数!')
elif n >= 0 & n % 2 ==1:
    print('奇数:', n)
else :
    print('偶数:', n)

# 狗狗年龄计算
age = int(input("请输入你家狗狗的年龄: "))
print("")
if age < 0:
    print("你是在逗我吧!")
elif age == 1:
    print("相当于 14 岁的人。")
elif age == 2:
    print("相当于 22 岁的人。")
elif age > 2:
    human = 22 + (age -2)*5
    print("对应人类年龄: ", human)

### 退出提示
input("点击 enter 键退出")
       
       
# 继续扩展,加入用户提示判断是否退出还是继续

print("=======欢迎进入狗狗年龄对比系统========")
control = "N"
while control=="N":
    try:
        age = int(input("请输入您家狗的年龄:"))
        #print(" ")
        age = float(age)
        if age < 0:
            print("您在逗我?")
        elif age == 1:
            print("相当于人类14岁")
            #break
        elif age == 2:
            print("相当于人类22岁")
            #break
        else:
            human = 22 + (age - 2)*5
            print("相当于人类:",human)
            #break
    except ValueError:
        print("输入不合法,请输入有效年龄")
    print("")
    control = input("退出(Y/N)?")
    print("")
###退出提示
input("点击 enter 键退出")


# 以下为if中常用的操作运算符:
# 操作符        描述
# <        小于
# <=        小于或等于
# >        大于
# >=        大于或等于
# ==        等于,比较对象是否相等
# !=        不等于


# if 嵌套
# 在嵌套 if 语句中,可以把 if...elif...else 结构放在另外一个 if...elif...else 结构中。

# if 表达式1:
    # 语句
    # if 表达式2:
        # 语句
    # elif 表达式3:
        # 语句
    # else:
        # 语句
# elif 表达式4:
    # 语句
# else:
    # 语句
       
num=int(input("输入一个数字:"))
if num%2==0:
    if num%3==0:
        print ("你输入的数字可以整除 2 和 3")
    else:
        print ("你输入的数字可以整除 2,但不能整除 3")
else:
    if num%3==0:
        print ("你输入的数字可以整除 3,但不能整除 2")
    else:
        print  ("你输入的数字不能整除 2 和 3")
               
               
# 以下实例 x 为 0-99 取一个数,y 为 0-199 取一个数,如果 x>y 则输出 x,如果 x 等于 y 则输出 x+y,否则输出y。

import random
x = random.choice(range(100))
y = random.choice(range(200))
if x > y:
    print('x:',x)
elif x == y:
    print('x+y:', x + y)
else:
    print('y:',y)
       
# 条件为假:0, False, '', None
# 条件为真:不为 0, True, 'None', 字符串不为空串
a = 0
if a :
    print('条件为真!')
else :
    print('条件为假!')

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-8-20 18:01:20
# 2018.05.12
# by pengxw


# Python3 循环语句
# 本章节将为大家介绍Python循环语句的使用。
# Python中的循环语句有 for 和 while。

# =============================================================================
# while 循环
# =============================================================================

# Python中while语句的一般形式:

# while 判断条件:
    # 语句
# 同样需要注意冒号和缩进。另外,在Python中没有do..while循环。

# 以下实例使用了 while 来计算 1 到 输入正整数的总和:

n = int(input("请输入一个正整数:"))
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1

print("1 到 %d 之和为: %d" % (n,sum))

# 无限循环
# 我们可以通过设置条件表达式永远不为 false 来实现无限循环,实例如下:
var = 1
while var == 1 :  # 表达式永远为 true
   num = int(input("输入一个数字  :"))
   print ("你输入的数字是: ", num)

print ("Good bye!")
# 你可以使用 CTRL+C 来退出当前的无限循环。
# 无限循环在服务器上客户端的实时请求非常有用。

# while 循环使用 else 语句
# 在 while … else 在条件语句为 false 时执行 else 的语句块:

count = 0
while count < 5:
   print (count, " 小于 5")
   count = count + 1
else:
   print (count, " 大于或等于 5")
   

# =============================================================================
# for 循环
# =============================================================================

# Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。

# for循环的一般格式如下:
# for <variable> in <sequence>:
    # <statements>
# else:
    # <statements>
# Python loop循环实例:

languages = ["C", "C++", "Perl", "Python"]
for x in languages:
   print (x)

# C
# C++
# Perl
# Python

# range()函数
# 如果你需要遍历数字序列,可以使用内置range()函数。它会生成数列,类似R的seq
for i in range(-10, 10, 3) :
    print(i)
# 0
# 3
# 6
# 9


# 以下 for 实例中使用了 break 语句,break 语句用于跳出当前循环体:

sites = ["Baidu", "Google","Runoob","Taobao"]
for site in sites:
    if site == "Runoob":
        print("菜鸟教程!")
        break
    print("循环数据 " + site)
else:
    print("没有循环数据!")
print("完成循环!")

# break和continue语句及循环中的else子句
# break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
# 实例1
for letter in 'shawn':
    if letter == 'w':
        break
    print('当前字母:', letter)
print('Good bye!')
#实例2
num = 10
while num > 0 :
    print('当前数字:', num)
    num -= 1
    if num <5 :
        break
print('Good bye!')

# continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。
num = 10
while num > 0 :
    num -= 1
    if num == 5 :
        continue
    print('当前数字:', num)
else:
    print('Good bye!')

# 循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。
for n in range(2,20):
    for x in range(2,n):
        if n % x == 0:
            print(n, '等于', x, '*', n//x)
            break
    else:
#        循环中没有找到元素
        print(n, '是质数!')

# 使用内置 enumerate 函数对序列对象元素产生索引,可进行遍历:
# for index, item in enumerate(sequence):
    # process(index, item)
for i, j in enumerate([32,35,31,36,39]):
    print(i, j)
# 0 32
# 1 35
# 2 31
# 3 36
# 4 39

# 使用循环嵌套来实现99乘法法则
#外边一层循环控制行数
#i是行数
i=1
while i<=9:
     #里面一层循环控制每一行中的列数
     j=1
     while j<=i:
          mut =j*i
          print("%d*%d=%d"%(j,i,mut), end="  ")
          j+=1
     print("") #换行作用
     i+=1
# 1*1=1  
# 1*2=2  2*2=4  
# 1*3=3  2*3=6  3*3=9  
# 1*4=4  2*4=8  3*4=12  4*4=16  
# 1*5=5  2*5=10  3*5=15  4*5=20  5*5=25  
# 1*6=6  2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
# 1*7=7  2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
# 1*8=8  2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
# 1*9=9  2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81


# while 循环语句和 for 循环语句使用 else 的区别:
# 1、如果 else 语句和 while 循环语句一起使用,则当条件变为 False 时,则执行 else 语句。
# 2.如果 else 语句和 for 循环语句一起使用,else 语句块只在 for 循环正常终止时执行!

# 关于pass的作用:
# pass只是为了防止语法错误。
if a>1:
    pass #如果没有内容,可以先写pass,但是如果不写pass,就会语法错误
# pass就是一条空语句。在代码段中或定义函数的时候,如果没有内容,或者先不做任何处理,直接跳过,就可以使用pass。

# 冒泡排序,python 版本
# 解析:很经典的排序方式,从数组中的第0个元素开始,与后面一个元素进行比较,如果前面的元素大于后面的元素,
# 就调换位置,循环到最后(即:a0与a1比较得到结果后,a1与a2比较...),最大的元素被换到数组最末尾,
# 剔除掉最后一个元素,在余下的数组元素中进行上述操作,到最后,整个数组呈现从小到大的排序
def rank(li) :
    max = 0
    for ad in range(len(li) - 1):
        for x in range(len(li) - 1 - ad):
            if li[x] > li[x + 1]:
                max = li[x]
                li[x] = li[x + 1]
                li[x + 1] = max
            else:
                max = li[x + 1]
    print(li)
rank([41,23344,9353,5554,44,7557,6434,500,2000])



# =============================================================================
# for/while ... else ... 及 break / continue 用法总结
# =============================================================================
# 1.break 语句可以跳出 for 和 while 的循环体。如果你从 for 或 while 循环中终止,任何对应的循环 else 块将不执行。
# 2.continue语句被用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环,对应的循环 else 块将执行。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群