【免费分享编程笔记】Python学习笔记(二)

简介: 【免费分享编程笔记】Python学习笔记(二)

【免费分享编程笔记】Python学习笔记(一)+https://developer.aliyun.com/article/1621227

五、if语句

5.1引入例子

cars=['audi','bmw','subaru','toyota']
for car in cars:
    if car=='bmw':
        print(car.upper())
    else:
        print(car.title())

5.2条件测试

  • 每条if语句的核心就是一个值 truefalse

5.2.1检查多个条件

  1. 使用 and检查多个条件,相当于“&&”
age_0=22
age_1=18
print(age_0>=21 and age_1>21)
  1. 使用 or检查多个条件,相当于“||”
age_0=22
age_1=18
print(age_0>=21 or age_1>21)

5.2.2检查特定值是否包含在列表中

  • 关键字 in
requested_toppings=['mushrooms','onions','pineapple']
print('mushrooms' in requested_toppings)
  • 在if语句中,缩进的作用与for循环中相同,如果测试通过了,将执行if语句后面所有缩进的代码,否则将忽略他们。

5.3.2if-else语句

age=17
if age>=18:
    print("you are oil enough to vote")
    print("you are oil enough to vote123456")
else:
    print("sorry you can   ")
    print("sorry you can  please register ")

5.3.3if-elif-else

age=12
if age<4:
    print("your admission cost is 0$")
elif age<18:
    print("your admission cost is 5$")
else:
    print("your admission cost is 0$")

5.3.4使用多个elif代码块

age=12
if age<14:
    price=0
elif age<18:
    price=5
elif age<65:
    price=10
else:
    price=5
print("your admission cost is $"+str(price)+".")

六、字典

  • 字典就是能够存储互不相联的信息
alien_0={'color':'green','points':5}
print(alien_0['color'])
print(alien_0['points'])

6.2使用字典

  • 字典是一系列的 键------值对 组成的。我们可以通过键访问值,也可以通过值访问键。

6.2.1访问字典中的值

alien_0={'color':'green','points':5}
new_points=alien_0['points']
print("you just earned "+str(new_points)+"points!")

6.2.2添加键值对

  • 字典是一种动态结构,可以随时添加键值对。
alien_0={'color':'green','points':5}
print(alien_0)
alien_0['x_position']=0
alien_0['y_position']=25
print(alien_0)

6.2.3创建空字典

alien_0={}
alien_0['color']='green'
alien_0['points']=5
print(alien_0)

6.2.4修改字典中的值

alien_0={'color':'green'}
print("The alien is"+alien_0['color']+".")
alien_0['color']='yellow'
print("The alien is now"+alien_0['color']+".")
alien_0={'x_position':0,'y_position':25,'speed':'medium'}
print("Original x-position:"+str(alien_0['x_position']))
#向右移动外星人
#据外星人当前速度决定其移动多远
if alien_0['speed']=='slow':
    x_increment=1
elif alien_0['speed']=='medium':
    x_increment=2
else:
    #这个外星人的移动速度一定很快
    x_increment=3
#新位置等于老位置加上增量
alien_0['x_position']=alien_0['x_position']+x_increment
print("New x-position:"+str(alien_0['x_position']))

6.2.5删除键值对

alien_0={'color':'green','points':5}
print(alien_0)
del alien_0['points']
print(alien_0)

6.2.6由类似对象组成的字典

favorite_languagres={
    'jen':'python',
    'sarah':'C',
    'edward':'ruby',
    'phil':'python',
}
print("Saras facorite language is"+favorite_languagres['sarah'].title()+".")

6.3遍历字典

6.3.1遍历所有的键值对

  • items()方法可以返回字典里的键和值得元素
user_0={
    'username':'efermi',
    'first':'enrico',
    'last':'fermi',
}
for key,value in user_0.items():
    print("\nkey:"+key)
    print("value:"+value)

6.3.2遍历字典中的所有键

  • 在不需要使用字典中的值时,方法 key()很有用。遍历所有键值。
favorite_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
for name in favorite_languages.keys():
    print(name.title())
favorite_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
friends=['phil','sarah']
for name in favorite_languages.keys():
    print(name.title())
    if name in friends:
        print("Hi"+name.title()+",I see your favorite languages is"+favorite_languages[name].title()+"!")

6.3.3按顺序遍历字典中的所有键

favoirte_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
for name in sorted(favoirte_languages.keys()):
    print(name.title()+",thank you for taking the poll")

6.3.4遍历字典中的所有值

favoirte_languages={
    'jen':'python',
    'sarah':'c',
    'edward':'ruby',
    'phil':'python',
}
print("The following languages have been menthioned:")
for language in favoirte_languages.values():
    print(language.title())

6.4嵌套

  • 将字典存储在列表中叫做 嵌套

6.4.1字典列表

#字典
alien_0={
    'color':'green',
    'points':5,
}
alien_1={
    'color':'red',
    'points':15,
}
alien_2={
    'color':'yellow',
    'points':25,
}
aliens=[alien_0,alien_1,alien_2]#列表
for alien in aliens:
    print(alien)

6.4.2在字典中存储列表

pizza={
    'crust':'thick',
    'toppings':['mushrooms','extra cheese'],
}
print("you ordered a "+pizza['crust']+"-crust pizza"+"with the following toppings:")
for topping in pizza['toppings']:
    print("\t"+topping)

6.4.3在字典中存储字典

users={
    'aeinstein':{
        'first':'albert',
        'last':'einstein',
        'location':'princetion',
    },
    'mucire':{
        'first':'marie',
        'last':'curie',
        'location':'princetion',
    },
}
for username,user_info in users.items():
    print("\nusername:"+username)
    full_name=user_info['first']+" "+user_info['last']
    location=user_info['location']
    print("\tFull name:"+full_name.title())
    print("\tLocation:"+location.title())

七、用户输入和while循环

7.1函数input

  • 这是一个输入函数
message=input("tell me something and I will repeat it back to you:")
print(message)

7.1.1编写清晰的程序

name=input("please enter your name:")
print("Hello"+name+"!")

7.1.2使用int()来获取数值输入

  • int()可以将字符串转换成数字
age=input("How old are you?")
age=int(age)
if age>18:
    print("\n you are tall enough to ride")
else:
    print("\n you .....")

7.1.3求模运算符

number=input("Enter a number ,and I will tell you if it is even or odd")
number=int(number)
if number%2==0:
    print("\nThe number"+str(number)+"is even")
else:
    print("\nThe number "+str(number)+"is odd")

7.2while循环简介

7.2.1使用while循环

current_number=1
while current_number<=5:
    print(current_number)
    current_number+=1;

7.2.2让用户选择何时退出

  • 可以使用while循环让程序在用户愿意时不断运行。我们在其中定义一个退出值,只要用户输入的不是这个值,程序接着运行。
prompt="\n Tell me something and i will repeat it back to you:"
prompt+="\n Enter 'quit' to end the program"
message=""
while message !='quit':
    message=input(prompt)
    print(message)

7.2.3使用标志

  • 使用标志有点类似与旗帜变量。赋予它一个状态,当状态发生改变时,循环结束。
prompt="\n Tell me something and i will repeat it back to you:"
prompt+="\n Enter 'quit' to end the program"
active=True
while active:
    message=input(prompt)
    if message=='quit':
        active=False
    else:
        print(message)

7.2.4适应break退出循环

  • 要退出while循环,不在执行接下来的代码,直接使用 break
prompt="\n Tell me something and i will repeat it back to you:"
prompt+="\n Enter 'quit' to end the program"
while True:
    city=input(prompt)
    if city=='quit':
        break
    else:
        print("I love to go to "+city.title()+"!")

7.3使用while循环来处理列表和字典

7.3.1在列表之间移动元素

#首先创建一个带验证的用户列表
#和一个用于存储已经验证的用户列表
unconfirmed_users=['alice','brain','candace']
confirmed_users=[]
#验证每个用户,直到没有未验证的用户为止
#将每个经过验证的列表都移动到已经验证后的用户列表中
while unconfirmed_users:
    current_user=unconfirmed_users.pop()
    print("Verfing user:"+current_user.title())
    confirmed_users.append(current_user)
    #显示所有已经验证的用户
print("\nThe following users have beeen confimede:")
for confirmed_user in confirmed_users:
    print(confirmed_user.title())

7.3.2删除包含特定值的所有列表

pets=['dog','cat','dog','goldfish','cat','rabbit','cat']
print(pets)
while 'cat' in pets:
    pets.remove('cat')
print(pets)

八、函数

8.1定义函数

  • 使用关键字 def
def greeter_user():
    print("Hello!")
greeter_user()

8.1.1向函数传递信息

  • 函数内可以包含参数,我们 在调用函数的时候可以自定义参数值进行传递
def greeter_user(username):
    print("Hello!"+username.title())
greeter_user('jesse')

8.1.2实参和形参

  • 调用函数传递的参数叫实参,因为它发挥了实际作用。
  • 定义函数的参数叫形参,只是一个摆设而已,可有可无,所以叫形参。
def describe_pet(animal_type,pet_name):
    print("\nI have a "+animal_type+".")
    print("my"+animal_type+"name is"+pet_name.title()+".")
describe_pet('hasmter','harry')

8.2返回值

  • 函数并非是直接输出显示,相反,他可以处理一些数据,返回一个或一组值。函数返回的值被称为返回值、
def get_formatted_name(first_name,last_name):
    full_name=first_name+' '+last_name
    return full_name.title()
muscian=get_formatted_name('jimi','hendix')
print(muscian)

8.2.1让实参变成可选

def get_formatted_name(first_name,last_name,middle_name=''):
   if middle_name:
       full_name=first_name+''+middle_name+''+last_name
   else:
       full_name=first_name+''+last_name
       return full_name.title()
muscian=get_formatted_name('jimi','hendrix')
print(muscian)
muscians=get_formatted_name('jimi','hooker','lee')
print(muscians)

【免费分享编程笔记】Python学习笔记(三)+

目录
相关文章
|
24天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
17天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
4天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
1天前
|
人工智能 Rust Java
10月更文挑战赛火热启动,坚持热爱坚持创作!
开发者社区10月更文挑战,寻找热爱技术内容创作的你,欢迎来创作!
238 12
|
19天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
21天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2579 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
3天前
|
存储 人工智能 搜索推荐
数据治理,是时候打破刻板印象了
瓴羊智能数据建设与治理产品Datapin全面升级,可演进扩展的数据架构体系为企业数据治理预留发展空间,推出敏捷版用以解决企业数据量不大但需构建数据的场景问题,基于大模型打造的DataAgent更是为企业用好数据资产提供了便利。
168 2
|
1天前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
101 65
|
21天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1578 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
4天前
|
Linux 虚拟化 开发者
一键将CentOs的yum源更换为国内阿里yum源
一键将CentOs的yum源更换为国内阿里yum源
255 2