Python条件判断if、for、while if
if条件判断
if 条件判断:
逻辑操作......
......
判断字符串是否为空
if a.strip(): #表示字符串不为空
pass
判断是否为字典
d = dict(a=1)
if isinstance(d,dict):
print("{0} is a dict".format(d))
例子:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
age = input("Please input your age: ")
if age.strip():
if age.strip().isdigit(): # str.isdigit() 检查字符串是否只由数字组成
if int(age) >= 18:
print("你是一个成年人!")
else:
print("你还是一个小屁孩!")
else:
print("你输入的不是数字!")
else:
print("你输入的年龄不符合要求")
if 条件判断:
逻辑操作......
......
elif 条件判断:
逻辑操作......
......
else:
逻辑操作......
例子:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
number = input("Please input a number: ")
if int(number) > 0:
print("{0} 是正数".format(number))
elif int(number) < 0:
print("{0} 是负数".format(number))
else:
print("输入的数字是{0}".format(number))
while循环
while 条件判断:
逻辑操作......
......
例子:
a = 100
while a >= 1:
print(a)
a -= 1
while中使用break和continue
while 1: 这个比while True效率高,因为1更接近与机器编码格式
break 满足某个条件时,立即结束当前循环
continue 跳过当前循环的剩余语句,继续进行下一轮循环
例子:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
while 1:
age = input("Please input your age: ")
if age.strip():
if age.strip().isdigit():
if int(age) >= 18:
print("你是一个成年人!")
break # 遇到break就会终止,break之后的语句就都不会执行了
else:
print("你还是一个小屁孩!")
break
else:
print("你输入的不是数字!")
else:
print("你输入的年龄不符合要求,请重新输入")
continue # 遇到continue会跳出本次循环,进入下一次循环
九九乘法表
分析:
1x1=1
1x2=2 2x2=4
1x3=3 2x3=6 3x3=9
a x b = a*b
a最小是1,最大为行号
b等于行号
代码如下:
for b in range(1, 10):
for a in range(1, b+1):
print("{0}x{1}={2}".format(a,b,a*b),end=" ") # python3中的空格 end=""
if a == b:
print() # 相当于换行
还有一种一行写法:
print('\n'.join(' '.join("{0}x{1}={2}".format(x, y, x*y) for x in xrange(1, y+1) )for y in xrange(1, 10)))
练习1:
输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符个数。
'''
str.isdigit() 检查字符串是否只由数字组成
str.isalpha() 检查字符串是否只由字母组成
str.isspace() 检查字符串是否只由空格组成
'''
something = input("请随便输入一些内容: ")
while len(something) > 0:
digit, letters, space, other = 0, 0, 0, 0
for i in something:
if i.isdigit():
digit += 1
elif i.isalpha():
letters += 1
elif i.isspace():
space += 1
else:
other += 1
print("数字有:{0}个\n英文字母有:{1}个\n空格有:{2}个\n其他字符有:{3}个".format(digit,letters,space,other))
break
练习2:
输入一个数,求它的阶乘。
num = int(input("请输入一个数字: "))
factorial = 1
if num < 0:
print("负数没有阶乘")
elif num == 0:
print("0 的阶乘为 1")
else:
for i in range(1, num + 1):
factorial = factorial * i
print("{0} 的阶乘为:{1}".format(num, factorial))