首页 > 代码库 > Python day2

Python day2

流程控制

if...elif...else 判断

基本语法

#!/bin/usr/env python

# input() 打印 "Enter a number:" 并 取得键盘输入
# int() 将 input() 得到的值转换成整数并赋值给变量 number
number = int(input("Enter a number:"))


# 如果变量 number 大于 2 则执行 print("big") 打印 "big"
if number > 2:
    print("big")
# 如果变量 number 小于 2 则执行 print("small") 打印 "small"
elif number < 2:
    print("small")
# 如果变量 number 不大于 2 也不小于 2 则执行 print("heheda") 打印 "heheda"
else:
    print("heheda")

实例

猜年龄游戏 1.0

技术分享
#!/bin/usr/env python

bzjxs = 18
age = int(input("Guess how old I am:"))

if bzjxs > age:
    print("The big guess")
elif bzjxs < age:
    print("The small guess")
else:
    print("bingo")
猜年龄游戏 1.0

以上代码会出现问题:

技术分享
G:\python\Scripts\python.exe E:/s15/day2/test.py
Guess how old I am:aaa
Traceback (most recent call last):
  File "E:/s15/day2/test.py", line 4, in <module>
    age = int(input("Guess how old I am:"))
ValueError: invalid literal for int() with base 10: aaa
猜年龄游戏 1.0 报错

以上报错是因为输入的内容不能转换成数字,导致 int() 函数无法转换

猜年龄游戏 1.1

此代码解决了猜年龄游戏 1.0 的问题

#!/bin/usr/env python

bzjxs = 18
age = input("Guess how old I am:")

# 判断变量 age 可不可以被转换成数字
# 如果可以,就将变量 age 转换成数字类型
if age.isdigit():
    age = int(age)
# 如果不可以则使用 exit() 函数退出程序
else:
    print("呵呵")
    exit()

if bzjxs > age:
    print("The big guess")
elif bzjxs < age:
    print("The small guess")
else:
    print("bingo")

for 循环

基本语法

#!/bin/usr/env python

# 将 range() 函数生成的数字作为列表传递给变量 i
# 列表中每多一位就多循环一次
# 本例会循环 3 次
for i in range(3):
    print(i)
# 如果循环正常结束,则打印 hehe
else:
    print("hehe")

 

ragne() 函数

#!/bin/usr/env python

# 打印 0 - 14
for i in range(15):
    print(i)

# 打印 10 - 14
for i in range(10,15):
    print(i)

# 打印 0 - 14 步进为 3
for i in range(0,15,3):
    print(i)

 

实例

猜年龄游戏 2.0

此版本增加功能:让用户输入 3 次,如果 3 次都不对或者猜对则退出。

#!/bin/usr/env python

bzjxs = 18
for i in range(3):
    age = input("Guess how old I am:")

    if age.isdigit():
        age = int(age)
    else:
        print("呵呵")
        # 输入的不是数字则使用 continue 跳出本次循环
        continue
    if bzjxs > age:
        print("The big guess")
    elif bzjxs < age:
        print("The small guess")
    else:
        print("bingo")
        # 如果猜对了则使用 break 跳出本层循环
        break
# 如果猜对了,就会使用 break 跳出本层循环,就不会执行 else 下的语句了
else:
    print("You have no chance")

 

Python day2