python基础二(循环语句,控制循环)
1.while 循环
死循环
count = 0
while True:
print(count)
count +=1
循环100次
count = 0
while True:
print(count)
count +=1
if count == 100:
break
案列
//打印出1-100中的奇数
count = 0
while count < 100:
if count % 2 == 1:
print(count)
count += 1
//猜字数游戏
import random
number = random.randint(1,100)
flag = True
count = 0
while flag:
user_input = int(input("input your guess num:"))
count += 1
if user_input == number:
print("Congratulations, you're right!")
print("Congratulations, you're right, ou guess a total of " + str(count) + " times")
flag = False
elif user_input < number:
print("Oops,think bigger!")
else:
print("think smaller!")
//运行
input your guess num:5
Oops,think bigger!
input your guess num:58
think smaller!
input your guess num:40
think smaller!
input your guess num:20
Oops,think bigger!
input your guess num:30
Oops,think bigger!
input your guess num:35
Oops,think bigger!
input your guess num:36
Oops,think bigger!
input your guess num:37
Oops,think bigger!
input your guess num:38
Oops,think bigger!
input your guess num:39
Congratulations, you're right!
Congratulations, you're right, ou guess a total of10times
99乘法表
row = 0
while row < 10 :
col = 1
while col <= row:
print("%d*%d=%-2d"%(row,col,row*col),end = '\t')
col += 1
print()
row += 1
//运行
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
2.for 循环
语法
for letter in 'python':
print("current letter: %s" % letter)
fruits = ['banana', 'apple', 'mongo']
for fruit in fruits:
print('current fruits: %s' % fruit)
//运行
current letter: p
current letter: y
current letter: t
current letter: h
current letter: o
current letter: n
current fruits: banana
current fruits: apple
current fruits: mongo
break语句
for i in range(10):
if i > 5:
break
print(i)
//运行
0
1
2
3
4
5
continue语句
for i in range(10):
if i < 5:
continue
print(i)
//运行
5
6
7
8
9
小于50大于70不打印
for i in range(100):
if i < 50 or i >70:
print(i)
else语句
for i in range(1, 20):
for j in range(2, i):
if i % j == 0:
k = i/j
print('%d = %d * %d' % (i, j, k))
break
else:
print('%d is an integer' % i)
//运行
1 is an integer
2 is an integer
3 is an integer
4 = 2 * 2
5 is an integer
6 = 2 * 3
7 is an integer
8 = 2 * 4
9 = 3 * 3
10 = 2 * 5
11 is an integer
12 = 2 * 6
13 is an integer
14 = 2 * 7
15 = 3 * 5
16 = 2 * 8
17 is an integer
18 = 2 * 9
19 is an integer
案例
//打印三角形
row = int(input('please enter list:'))
for i in range(0, row):
for j in range(row - i):
print("", end="") # 当i=0的时候输出6-0=6个空格 end结尾也是空格所以6+6个空格一共12个空格
# 这两个空格任意删除一个都会形成等腰三角形 两个都有空格会形成向右的三角形,两个都没有空格会形成像左的三角形
for k in range(i + 1):
print("*", end=" ") # 输出*号后添加空格
print()
//运行
please enter list:6
*
* *
* * *
* * * *
* * * * *
* * * * * *
//升级版打印空心的三角形
row = int(input('please enter list:'))
for i in range(0, row + 1):
for j in range(0, row - i):
print(" ", end='')
for k in range(0, 2 * i - 1):
if k == 0 or k == 2 * i - 2 or i == row: //满足这三个条件任意 一个条件就会进入判断
if i == row:
if k % 2 == 0:
print("*", end='')
else:
print(" ", end='')
else:
print("*", end='')
else:
print(" ", end='')
print("")
//运行
please enter list:6
*
* *
* *
* *
* *
* * * * * *
3.格式化输出
判断用户输入是否是数字
user_input = input("please enter is an integer :")
print(type(user_input))
print('--------------------------------------------------------')
if user_input.isdigit():
user_input = int(user_input)
else:
print("your enter not is integer")
print(type(user_input))
//运行
please enter is an integer :2.2
<class 'str'>
--------------------------------------------------------
your enter not is integer
<class 'str'>
打印个人信息
name = input("please enter your name:")
age = int(input("please enter your age:"))
job = input("please enter your job:")
salary = int(input("please enter your salary:"))
info = '''
------------- info of %s --------------
Name: %s
Age: %d
job: %s
salary: %d
'''
print(info %(name,name,age,job,salary))
//运行
please enter your name:1
please enter your age:2
please enter your job:3
please enter your salary:4
------------- info of 1 --------------
Name: 1
Age: 2
job: 3
salary: 4
占位符 | 描述 |
---|---|
%s | 字符串 |
%d | 整数 |
%f | 浮点数 |
案例
//用户登入
user_name = "xym"
user_password = 123
name = input("please enter your name: ")
if user_name == name:
count = 0
while count < 3:
password = int(input("please enter your password: "))
if password == user_password:
print("login successfully")
else:
count += 1
print("password enter error")
else:
print("The account is frozen because the password is entered incorrectly for more than three times")
else:
print("check whether the user name is incorrect")
//运行
please enter your name: xym
please enter your password: 456
password enter error
please enter your password: 456
password enter error
please enter your password: 456
password enter error
The account is frozen because the password is entered incorrectly for more than three times
//输入三个数字判断最大值和最小值
print("please enter three numbers")
number1 = float(int(input("please enter the first number:")))
number2 = float(int(input("please enter second number:")))
number3 = float(int(input("please enter number three:")))
if number1 >= number2 >= number3:
print("最大值为:%d:" % number1)
print("最小值为:%d:" % number3)
if number1 >= number3 >= number2:
print("最大值为:%d:" % number1)
print("最小值为:%d:" % number2)
if number2 >= number1 >= number3:
print("最大值为:%d:" % number2)
print("最小值为:%d:" % number3)
if number2 >= number3 >= number1:
print("最大值为:%d:" % number2)
print("最小值为:%d:" % number1)
if number3 >= number2 >= number1:
print("最大值为:%d:" % number3)
print("最小值为:%d:" % number1)
else:
print("最大值为:%d:" % number3)
print("最小值为:%d:" % number2)
//运行
please enter three numbers
please enter the first number:1
please enter second number:2
please enter number three:3
最大值为:3:
最小值为:1: