测试脚本执行: 测试脚本执行 编写game.py脚本,实现以下目标: 计算机随机出拳 玩家自己决定如何出拳 代码尽量简化 测试脚本执行: while 条件:
判断语句
if 条件1: 条件1为True时执行的代码块 elif 条件2: 条件2为True时执行的代码块 elif 条件3: 条件3为True时执行的代码块 ... ... elif 条件n: 条件n为True时执行的代码块 else: 上面所有的条件都为False时执行的代码块
if 3 > 0: print('yes') print('ok') if -0.0: print('值为0表示假') if 100: print('值非0表示真') if ' ': print('空格也是一个字符,为真') if '': print('空字符串,长度为0,表示假') if []: print('空列表,为假') if (10, 20): print('非空元组,为真') if {}: print('空字典,为假') if not []: print('空列表,为假,取反为真')
案例1.编写login.py脚本:
import getpass #调用该函数可以在命令行窗口里面无回显输入密码 user = input('username: ') passwd = getpass.getpass('password:') if user == 'bob' and passwd == '123456': print (' 33[32;1mLogin successful! 33[0m') #绿色粗体显示 else: print(' 33[31;1mLogin incorrect! 33[0m') #红色粗体显示
[root@localhost day02]# python3 login2.py
username: bob
password: 123456 #此处所填写的密码将不在屏幕上显示
Login successful
[root@localhost day02]# python3 login2.py
username: tom
password: 123456 #此处所填写的密码将不在屏幕上显示
Login incorrect!案例2:编写判断成绩的程序
score = int(input('成绩:')) #将用户输入的字符转换为数字类型 if score >= 60 and score < 70: print('及格') elif 70 <= score < 80: print('良') elif 80 <= score < 90: print('好') elif score >= 90: print('优秀') else: print('你要努力了!')
[root@localhost day02]# python3 grade.py
成绩: 59
你要努力了!
[root@localhost day02]# python3 grade.py
成绩: 88
好
[root@localhost day02]# python3 grade.py
成绩: 64
及格random模块
>>> import random >>> random.choice('abcd') 'b' >>> random.choice('abcd') 'c' >>> random.choice(['aaaa', 'bbb', 'ccc']) 'aaaa' >>> random.choice(['aaaa', 'bbb', 'ccc']) 'ccc' # 取出1到100间的随机整数,包括1和100 >>> random.randint(1, 100) 47
案例3.编写石头剪刀布小游戏
import random xuanxiang = ['石头', '剪刀', '布'] #将人胜利的情况提前定义好 wins = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']] prompt = '''(0) 石头 (1) 剪刀 (2) 布 请选择(0/1/2): ''' computer = random.choice(xuanxiang) i = int(input(prompt)) # 把用户输入的0/1/2转找成数字 player = xuanxiang[i] # 根据下标取出相应的选项 print("Your choice: %s, computer's choice: %s" % (player, computer)) if player == computer: print(' 33[32;1m平局 33[0m') elif [player, computer] in wins: print(' 33[31;1mYou WIN!!! 33[0m') else: print(' 33[31;1mYou LOSE!!! 33[0m')
[root@python day2]# python3 lianxi.py
(0)石头
(1)剪刀
(2)布
请选择(0)(1)(2):1
您出了剪刀 ,计算机出了:石头
You Lose
[root@python day2]# python3 lianxi.py
(0)石头
(1)剪刀
(2)布
请选择(0)(1)(2):2
您出了布 ,计算机出了:石头
You win循环语句
while循环
当条件满足时执行的语句案例4. 石头剪刀布两胜制
import random xuanxiang = ['石头', '剪刀', '布'] wins = [['石头', '剪刀'], ['剪刀', '布'], ['布', '石头']] prompt = '''(0) 石头 (1) 剪刀 (2) 布 请选择(0/1/2): ''' pwin = 0 cwin = 0 while pwin < 2 and cwin < 2: # 如果电脑或者玩家都没有赢够两次就要继续 。and两端都为真最后才为真,有一个为假最终为假。 #while 1: computer = random.choice(xuanxiang) i = int(input(prompt)) # 把用户输入的0/1/2转找成数字 player = xuanxiang[i] # 根据下标取出相应的选项 print("Your choice: %s, computer's choice: %s" % (player, computer)) if player == computer: print(' 33[32;1m平局 33[0m') elif [player, computer] in wins: print(' 33[31;1mYou WIN!!! 33[0m') pwin += 1 #玩家赢一次就加1 else: print(' 33[31;1mYou LOSE!!! 33[0m') cwin += 1 #电脑赢一次就加1 #if pwin == 2 or cwin == 2 #break
100以内所有数值相加: # 定义保存结果的变量 result = 0 # 定义一个用于累加的变量 i = 1 while i < 101: # 将i累加到result中 result += i # 将i的值自增1 i += 1
100以内所有偶数相加 # 定义变量,用于保存最终结果 result = 0 # 定义一个累加计数器 i = 0 while i < 100: i += 1 #相等于 i = i + 1 if i % 2 == 1: 奇数除于2都余1 continue 退出循环 else: result += i #相等于 result = result + i print(result)
# 定义变量,用于保存最终结果 result = 0 # 定义一个累加计数器 i = 0 while i < 100: i += 1 #控制循环次数 if i % 2: # i%2的结果只有1或0,1表示真,0表示假 continue result += i #每次都会将循环的值覆盖,成为最新循环的值,知道循环结束 print(result)
案例5.猜数字游戏
import random a = random.randint(1,100) i = 0 while i < 7: num = int(input('请输入要猜的数字')) i += 1 if num == a: print('YES') break 退出循环 elif num > a: print('Guess Big') else: print('Guess Small') print('正确的数字是',a)
for循环
for 变量 in 对象集合: 能够从对象集合中取出值时执行的语句
range函数
>>> range(10) # 只给定一个数字是结束数字,起始数字是0 range(0, 10) # 结束数字不包含 >>> for i in range(10): ... print(i) >>> list(range(10)) # 将range(10)可以生成的数字转成列表 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(6, 11)) [6, 7, 8, 9, 10] >>> list(range(1, 10, 2)) [1, 3, 5, 7, 9] >>> list(range(10, 0, -1)) [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
for循环的使用
s1 = 'hello' 循环字符 for zifu in s1: print(zifu) nums = [10, 20, 30, 50] 循环列表 for i in nums: print(i) users = ('tom', 'jerry', 'zhangsan') 循环元组 for name in users: print(name) info = {'name': 'lisi', 'age': 20} 循环字典 for k in info: print(k, info[k]) result1 = 0 利用range函数做for循环,可以求出100以内所有数字加起来的总和 for i in range(1, 101): result1 += i 相等于 result1 = result1 + i print(result1) result2 = 0 求取100以内所有偶数的和 for i in range(2, 101, 2): 从2开始到101,结束不包含,步长为2 result2 += i print(result2)
列表解析
# 将表达式的计算结果放到列表 >>> [5 + 5] [10] # 通过for循环控制表达式计算的次数 >>> [5 + 5 for i in range(10)] [10, 10, 10, 10, 10, 10, 10, 10, 10, 10] # 表达式可以使用for循环的变量 >>> [5 + i for i in range(1, 11)] [6, 7, 8, 9, 10, 11, 12, 13, 14, 15] # 还可以通过if判断来实现过滤条件,判断为真时,才保留计算结果 >>> [5 + i for i in range(1, 11) if i % 2 == 1] [6, 8, 10, 12, 14] # 获取192.168.1.0网段中所有的IP地址 >>> ['192.168.1.%s' % i for i in range(1, 255)]
案例6 .斐波那契数列
result = [0,1] 列表可变 for i in range(8): result.append(result[-1] + result[-2]) 每次将列表中的最后两位相加 print(result)
result = [0,1] n = int(input('请输入:')) for i in range( n -2 ): result.append(result[-1] + result[-2]) print(result)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算