python基础二(循环语句,控制循环)

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:
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值