1.if语句
-
if-else语句
-
判断两个条件的if语句
-
elif语句
-
if嵌套
-
练习:
练习1:检测输入为空a = input('输入:') 方法一: if a == '': print('请输入数值1') 使用此if语句或者下面的if语句都可检测是否为空。 方法二: if not a: print('请输入数值2') else: print('OK')
练习2.输入年、月,输出本月有多少天
year = int(input('请输入年份'))
mouth = int(input('请输入月份'))
if (year % 400 == 0) or (year % 4 == 0 and year % 100 != 0):
if mouth in (1, 5, 7, 8, 10, 12):
print('天数为31')
elif mouth == 2:
print('天数为29')
else:
print('天数为30')
else:
if mouth in (1, 5, 7, 8, 10, 12):
print('天数为31')
elif mouth == 2:
print('天数为28')
else:
print('天数为30')
练习3.用户输入月份,打印该月份所属的季节
mouth = int(input('输入月份'))
if mouth in (1, 2, 3):
print('%s在春季' % mouth)
elif mouth in (4, 5, 6):
print('%s在夏季' % mouth)
elif mouth in (7, 8, 9):
print('%s在秋季' % mouth)
elif mouth in (10, 11, 12):
print('%s在冬季' % mouth)
else:
print('只能输入1~12')
1.for语句
-
range的用法
range(5) (0,stop-1) [0, 1, 2, 3, 4] range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] range(1,10) (start,stop-1) [1, 2, 3, 4, 5, 6, 7, 8, 9] range(1,10,2) (start,stop-1,step) [1, 3, 5, 7, 9] range(0,10,2) [0, 2, 4, 6, 8]
-
break、continue、exit的区别
break:跳出循环
continue:跳过,什么都不干
exit:跳出程序 -
for语句
1)求1到100偶数和
注意:如果将打印写到循环中,每加一次打印一次。
2)求1到100奇数和
3)求阶乘a = int(input('输入您要求的阶乘')) sum = 1 for i in range(1, a + 1): sum *= i print('%d的阶乘为:%d' % (a, sum))
-
练习:
1)有1,2,3,4四个数字,求这四个数字能生成多少个互不相同的无重复的三位数。""" 有1,2,3,4四个数字 求这四个数字能生成多少个互不相同的无重复的三位数 """ num = 0 for a in range(1, 5): for b in range(1, 5): for c in range(1, 5): if a != b and a != c and b != c: num += 1 print(a*100+b*10+c) print(num)
2)用户登录认证
"""
用户登录需求:
1.判断用户名和密码
2.判断用户名和密码是否正确 (name='root' passwd='westos')
3.登陆仅有三此机会,超过三次报错
"""
num = 0
for i in range(1, 4):
name = str(input('请输入用户名'))
passwd = str(input('请输入密码'))
if name == 'root' and passwd == 'westos':
print('成功')
break
else:
print('用户名或密码错误,重新输入,你还有%d次机会' % (3 - i))
else:
print('您已经登陆三次')
3)做一个类似shell交互界面
"""
做一个类似shell交互界面
"""
for i in range(1, 10):
import os
cmd = input('[kiosk @ python]:')
if cmd == 'logout':
print('BYE')
break
else:
os.system(cmd)
4) 求两个数的最大公约数和最小公倍数
"""
求两个数的最大公约数和最小公倍数
"""
num1 = int(input('数字1'))
num2 = int(input('数字2'))
for i in range(1, min(num1+1, num2+1)):
if num1 % i == 0 and num2 % i == 0:
a = i #将满足公约数条件的数据赋值给a,最后赋直的是最大的公约数
else:
continue
b = (num1 * num2) / a
print('%d和%d的最大公约数是%d,最小公倍数是%d' % (num1, num2, a, b))
3.while语句
-
嵌套语句(打星星)
1)""" 打星星 * ** *** **** """ a = int(input('输入你要打印的星星行数')) i = 1 while i <= a: j = 0 while j < i: j += 1 print('*', end='') print() i += 1
2)
"""
***
**
*
"""
a = int(input('输入你要打印的星星行数'))
i = 0
while i < a:
j = 0
while j < a-i:
j += 1
print('*', end='')
print()
i += 1
3)
"""
*****
****
***
**
*
"""
i = 0
while i < 5:
j = 0
while j < i:
j += 1
print(' ', end='')
while j >= i and j < 5:
print('*', end='')
j += 1
print()
i += 1
4)
"""
*
**
***
****
*****
"""
i = 1
while i <= 5:
j = 0
while j < 5 -i:
j += 1
print(' ', end='')
while j < 5:
print('*', end='')
j += 1
print()
i += 1
-
九九乘法表
""" 九九乘法表 """ i = 1 while i <= 9: j = 1 while j <= i: k = i * j print('%d*%d=%d\t' % (j, i, k), end='') j += 1 print('') i += 1
九九乘法表
i = 1
while i < 10:
j = 1
while j <= 10-i:
k = i * j
print('%d*%d=%d\t' % (j, i, k), end='')
j += 1
print('')
i += 1
九九乘法表
i = 1
while i < 10:
j = 1
while j < i:
print(' ', end='')
j += 1
while j >= i and j < 10:
k = i * j
print('%d*%d=%d\t' % (j, i, k), end='')
j += 1
print()
i += 1
九九乘法表
i = 1
while i < 10:
j = 1
while j < 10-i:
print(' ', end='')
j += 1
while j < 10:
k = i * j
print('%d*%d=%d\t' % (j, i, k), end='')
j += 1
print()
i += 1
练习:
1)猜数字
"""
猜数字
系统随机生成一个1~100的数字
用户有五次机会
如果用户猜测数字大于系统给出的数字,打印“大”
如果用户猜测数字小于系统给出的数字,打印“小”
如果用户猜测数字等于系统给出的数字,打印“恭喜中奖”,并推出循环
"""
j = 0
import random
i = random.randint(1, 100)
while j < 5:
a = int(input('输入数字:'))
j += 1
if a == i:
print('恭喜中奖')
break
if a < i:
print('小')
if a > i:
print('大')
while j >= 5:
print('没有机会了')
print('正确答案是%d' % i)
break
2)登录认证
i = 0
while i < 3:
user = input('请输入用户:')
passwd = input('请输入密码')
if user == 'root' and passwd == '123':
print('登录成功')
break
else:
i += 1
print('用户或密码错误,请重新输入')
print('你还有%d次机会' %(3-i))
else:
print('次数超过三次,稍后登录')