Python Base——Part 7

Python Base——Part 7

今天继续更新关于Python的一些基础知识

本次分享的内容概括

第一部分:函数input()的工作原理、int()函数、求模(%)运算符、While循环

第二部分:让用户选择何时退出循环、标志(flag)、使用break退出循环

第三部分:在循环中使用continue、避免无限循环

第一部分内容的介绍

①函数input()的工作原理:

这一部分需要注意,像Sublime Text或者Jupyter可能都无法正常运行该程序,需要使用终端进行操作,或者使用IDLE运行该程序

②int()函数:

该函数可以将字符型变量转换成数值型

③求模(%):

该函数可以返回一个数除以另一个数的余数,可以利用这一点判断一个数是奇数还是偶数

④While循环:

for 循环用于针对集合中的每个元素都执行一个代码块,而 while 循环则不断运行,直到指定的条件不满足为止

#用户输入和while循环
#函数input()的工作原理
message=input("Tell me something, and I will reapeat it to you:")
print(message)
name=input("Please enter your name:")
print(name)
#函数input()在Sublime以及Jupyter中可能都无法正常运行,需要到终端进行操作,或者在IDLE里面去运行

#int()函数:将变量转换为数值型
agee='18'
age=int(agee)
if age >= 18:
    print("You are old enough to participate.")

#求模(%)运算符
print(7 % 4)
print(6 % 3)
#求模运算符将两个数相除并返回余数。它不会指出一个数是另一个数的多少倍,它只会返回两个数相除的余数
#如果两个数刚好相除,那么返回结果为0,即两者相除余数为0,刚好被整除
#可以利用这一点判断一个数是偶数还是奇数

#while循环
#for循环用于针对集合中的每一个元素都执行一个代码块,而while循环则不断运行,直到指定的条件不满足为止
#使用while循环来数数:从1数到5
current_number=1
while current_number <= 5:
    print(current_number)
    current_number += 1
#以上代码其实是current_number = current_number + 1 的简写
#只要条件满足当前的数小于等于5,那么Python就会一直执行这个循环,就会一直执行+1这个代码

第二部分:

①让用户选择何时退出循环:

例如,当输入‘quit’时结束程序,退出循环

②标志(flag):

用来判断程序是否继续运行,充当程序的交通信号灯

③使用break退出循环:

可以使用break退出while循环。当然,在任何使用Python的循环中也都可以使用break语句。例如,可以使用break语句来退出遍历列表或退出字典的for循环

#标志:在要求很多条件都满足才继续运行的程序中,可定义一个变量,用于判断整个程序是否处于活动状态
#这个变量称为标志(flag),充当程序的交通信号灯
prompt="Tell me something, and I will repeat it to you."
prompt += "\nEnter 'quit' to end the program: "
message=""
while message != "quit":
    print(message)
    message=input(prompt)

prompt="\nTell me something, and I will repeat it to you."
prompt += "\nEnter 'quit' to end the program: "
message=""
while message != "quit":
    message=input(prompt)
    if message != 'quit':
        print(message)

#标志:在程序中添加一个标志,将其命名为active(当然可以命名为其他任何合法的名称),用于判断该程序是否继续运行
#在标志为True时程序继续运行,在标志为False时程序停止运行
prompt = "\nTell me something, and I will repeat it to you."
prompt += "\nEnter 'quit' to end program: "
message=""
active=True
while active:
    message=input(prompt)
    if message == "quit":
        active=False
    else:
        print(message)

#使用break退出循环
prompt = "\nTell me something, and I will repeat it to you."
prompt += "Enter 'quit' to end the program: "
message=""
while message != "quit":
    message=input(prompt)
    if message == "quit":
        break
    else:
        print(message)
#使用break退出循环
prompt = "\nTell me something, and I will repeat it to you."
prompt += "Enter 'quit' to end the program: "
while True:
    message=input(prompt)
    if message == "quit":
        break
    else:
        print(message)

#注意:在任何使用Python的循环中都可以使用break语句。例如,可以使用break语句来退出遍历列表或退出字典的for循环
cities={
    'beijing':{'country':'china','population':21,'fact':'famous'},
    'new york':{'country':'america','population':8,'fact':'developed'},
    'pari':{'country':'france','population':7,'fact':'fashion'}
}
for city,info in cities.items():
    if city == "pari":
        break
    else:
        print(f"{city.title()} is the capital of {info['country'].title()}. \
There are about {info['population']} in {city.title()}. \
{city.title()} is {info['fact']}.")

#使用break来退出遍历列表
for number in range(1,11):
    if number == 3:
        break
    else:
        print(number)
#这里break在number等于3的时候就退出遍历列表,因此输出的结果只有1和2

第三部分:

①在循环中使用Continue:

可以使用continue语句来返回循环开头,并根据条件测试结果决定是否继续执行循环

②避免无限循环:

要避免编写无限循环,务必对每个while循环进行测试;确认程序至少有一个这样的地方能让循环条件为 False,或者让 break语句得以执行

#在循环中使用continue
number =2
while number <= 8:
    number += 1
    if number % 2 == 0:
        continue
    print(number)

current_number = 0 
while current_number < 10: 
    current_number += 1
    if current_number % 2 == 0:
        continue 
    print(current_number)

for number in range(1,100):
    while number <= 18:
        number *= 3
        if number % 2 == 0:
            continue
        print(f"{number} now is an odd number.")
#这里程序先执行number*3,并且接下来if循环中使用number*3求模
#如果求模结果为0,那么就再次进入while循环,如果求模结果不为0,那么就执行接下来的代码,也就是将结果打印出来

for number in range(1,100):
    while number <= 18:
        number *= 3
        if number % 2 != 0:
            continue
        print(f"{number} now is an even number.")
#同样的,这里如果number*3的求模结果不为0,那么就再次进入循环
#如果number*3的求模结果为0,那么就执行接下来的代码,输出所有的偶数

#避免无限循环
x=1
while x <=5 :
    x += 1
    print(x)
#以上代码输出结果为:2、3、4、5、6
#但是如果忘记了x += 1这一行代码,那么程序将会永无止境的继续下去
x=1
while x <=5 :
    print(x)
#因为x永远小于1,永远满足while循环,永远输出1

#要避免编写无限循环,务必对每个while循环进行测试,确保其按预期那样结束。如果希望程序在用户输入特定值时结束,可运行程序并输入这样的值
#如果在这种情况下程序没有结束,请检查程序处理这个值的方式,确认程序至少有一个这样的地方能让循环条件为 False,或者让 break语句得以执行

以上就是本次分享的全部内容啦!欢迎大家莅临我的另外一个草稿箱(公众号:统计小菜椒)

(ps:劳逸结合)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值