if语句
if语句,条件为真时执行if下面的命令,条件为假时实行else下面的内容。在使用时要注意缩进。同一缩进的内容一次执行。
结果:
if语句的 ‘与’ ‘或’ ‘非’
与: 当条件一和条件二同时成立时,执行任务
或: 条件一或者条件二有一个成立的时候,执行任务
非:not
当value为空时,打印 check your input
我们也可以改为:
##ctrl+shift+end一键选中光标位置到结尾,ctrl+/ 一键注释。
if 语句只判断波尔值,当我们不赋予value值时,加上 not 就是如果没有值,就打印出 Check your input。
而我们赋予值时:
不执行打印命令。##elif的用法
档条件比较多时,可以加上 elif ,中间可以有多个elif ,最后以else收尾。
elif 和 else 必须和 if 一起使用,不能单独使用,if 可以单独使用。
例:
if语句的嵌套使用:
例:
例2:
import random
#1.player
player = int(input('Your choice:')) //注意这里要整型化玩家的数字
#2.robot
computer = random.randint(1,3)
print(computer)
#compare
if((player == 1 and computer == 2) or (player == 2 and computer == 3)
or (player == 3 and computer == 1)):
print('player win')
elif player == computer:
print('no winner')
else:
print('computer win')
测试;
for循环
range10代表一个数组:(python2中)
range(stop)代表 0~stop-1
range(start,stop) 代表 start~stop-1
range(start,stop,step)代表start-stop,步长为step
不包括上限stop
sum+=i
sum = sum + i
代表从2+4+6+…+100,。
累乘:
跳出循环
break :跳出整个循环,不会再循环后面的内容
continue :跳出本次循环,continue后面的代码不再执行,但是循环依然继续
exit() :结束程序的运行
break
可见break跳出整个循环。
continue
跳过5,继续执行。
exit
exit时直接退出程序。
练习:
随机生成三位1到4的数字。生成一个三位数,且不能有重复的数字
2.
for i in range(3):
name = input("Username:")
passwd = input("Password:")
if name == 'root' and passwd == 'westos':
print('Login success.')
break
else:
print('Login failed')
print('%d chance you have.' %(2 - i))
else:
print('Please try later.')
效果:
命令行
导入 os 模块,可以通过python管理linux。
import os
for i in range(1000):
cmd = input('[root@python test]# ')
if cmd:
if cmd == 'exit':
print('logout')
else:print('%s is run' %cmd)
os.system(cmd) 用来执行linux 的命令的函数
else:
continue
while语句
用法:
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
......
例:打印五次 hello python
用while循环写很方便。
死循环
当为真是,一直打印。
python中的计数方法
常见的计数方法有两种,可以分为
自然计数法(从1开始) -- 更符合人类的习惯
程序计数法(从0开始) -- 几乎所有的程序语言都选择从0开始计数
因此,大家在编写程序时,应该尽量养成习惯:除非需求的特殊要求,否则>循环的计数从0开始
"""
"""
循环计算
在程序开发中,通常会遇到利用循环重复计算的需求(利用CPU的强大之处 完
成相应的复杂计算)
遇到这种情况:
1.在while上方定义一个变量,用于存放最终的计算结果
2.在循环体内部,每次循环都用最新的计算结果,更新之前定义的变量
练习:
计算:0~100之间所有数字的累积求和
i = 0
sum = 0
while i <=100:
sum += i
i += 1
print('the sum is %d' %sum)
0~100之间偶数的和:
i = 0
sum = 0
while i <=100:
if i % 2 == 0:
sum += i
i += 1
print('the sum is %d' %sum)
打印出:
*
**
***
****
*****
row = 1
while row <=5:
col =1
while col <= row:
print('*',end='') end表示不换行输出
col += 1
print('') 表示换行
row += 1
03.
猜数字游戏
1. 系统随机生成一个1~100的数字;
2. 用户总共有5次猜数字的机会;
3. 如果用户猜测的数字大于系统给出的数字,打印“too big”;
4. 如果用户猜测的数字小于系统给出的数字,打印"too small";
5. 如果用户猜测的数字等于系统给出的数字,打印"恭喜",并且退出循环;
import random
trycount = 0
computer = random.randint(1,100)
while trycount < 5:
player = int(input('Number:'))
if player > computer:
print('Too big')
trycount += 1
elif player < computer:
print('To small')
trycount += 1
else:
print('Congratulation!')
字符串
字符串的定义多种:
a = 'hello'
b = 'what\'s up'
c = """ 定义多行字符串
woaini
youzenyang
nishisb
"""
print(a)
print(b)
print(c)
执行结果:
#index 索引
s = 'hello'
print(s[0])
print(s[1])
print(s[2])
#cut 切片
print(s[0:3]) 和range的方差大同小异,执行0,1,2,执行到3-1
print(s[0:4:2]) 步长为2
print(s[:]) 打印所有
print(s[:3]) 打印前三个字符,0,1,2
print(s[1:]) 打印除第一个字符,因为从0开始
print(s[::-1]) 倒叙打印
#repeat 重复
print(s * 2)
# link 连接
print('hello' + ' world')
# 成员
print('h' in s)
print('f' in s)
回文数
回文数就是正这反着都一样的字符 例如121 ,030
示例 1:
输入: 121
输出: true
示例 2:
输入: -121
输出: false
解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不
是一个回文数。
示例 3:
输入: 10
输出: false
解释: 从右向左读, 为 01 。因此它不是一个回文数。
num = input('Num:')
if num == num[::-1]: 利用字符串可以进行切片来操作
print('ok')
else:
print('false')
判断字符串中的元素类型
在pycharm可以判断字符串中的元素,用法如下:
判断数字:
print('123'.isdigit())
print('132asd'.isdigit())
判断标题:
print('Hello'.istitle()) 首字母大写
print('helLo'.istitle())
更改判断大写:
print('hello'.upper())
print('HELLO'.lower())
print('heLLo'.islower())
print('HEllo'.isupper())
print('HELL1'.isalnum()) 判断字母或数字
print('123'.isalpha()) 判断字母
print('qqq'.isalpha())
filename = 'westos.org'
if filename.endswith('.org'):
print(filename)
else:
print('Error filename')
判断是否以 .org 结尾
判断以什么开头
url1 = 'file:///mnt'
url2 = 'ftp://172.25.254.250/pub'
url3 = 'http://172.25.254.250/index.html'
if url3.startswith('http://'): 判断开头
print('ok')
else:
print('failed')
去掉空格广义上的空格,\n和\t 也会被去掉
s = ' hello '
print(s.strip())
print(s.lstrip())
print(s.rstrip())
s = 'hello'
print(s.strip('he'))
练习:
判断变量名是否合法:
1.变量名可以由字母,数字或者下划线组成
2.变量名只能以字母或者下划线开头
s = 'hello@'
步骤:
1.判断变量名的第一个元素是否为字母或者下划线 s[0]
2.如果第一个元素符合条件,判断除了第一个元素之外的其他元素s[1:]
while True:
s = input('name:')
if s == 'exit':
print('log out')
break
if s[0].isalpha() or s[0] == '_':
for i in s[1:]:
if not i.isalnum() or i == '_':
print('illegal')
break
else:
print('ok')
else:
print('illegal')
效果: