学习python的第二天

python第二天?? (今天系统崩了,难受~)

Day03 - 分支结构?

分支结构的应用场景: !!注意:#行代表注释

迄今为止,我们写的Python代码都是一条一条语句顺序执行,这种结构的代码我们称之为顺序结构。然而仅有顺序结构并不能解决所有的问题,比如我们设计一个游戏,游戏第一关的通关条件是玩家获得1000分,那么在完成本局游戏后我们要根据玩家得到分数来决定究竟是进入第二关还是告诉玩家“Game Over”,这里就会产生两个分支,而且这两个分支只有一个会被执行,这就是程序中分支结构。类似的场景还有很多,给大家一分钟的时间,你应该可以想到至少5个以上这样的例子,赶紧试一试。

if语句的使用:

在Python中,要构造分支结构可以使用if、elif和else关键字。所谓关键字就是有特殊含义的单词,像if和else就是专门用于构造分支结构的关键字,很显然你不能够使用它作为变量名(事实上,用作其他的标识符也是不可以)。下面的例子中演示了如何构造一个分支结构。
———————————————————————————————————————————————

例题:用户身份验证 注意:(python中#代表注释)

执行如下代码:
username = input('请输入用户名: ')
password = input('请输入口令: ')

#如果希望输入口令时 终端中没有回显 可以使用getpass模块的getpass函数

#import getpass

#password = getpass.getpass('请输入口令: ')

#【conditions 】

if username == ‘admin’ and password == ‘123456’:

print('身份验证成功!')

#Other…

else:
print(‘身份验证失败!’)
———————————————————————————————————————————————唯一需要说明的是和C/C++、Java等语言不同,Python中没有用花括号来构造代码块而是使用了缩进的方式来设置代码的层次结构,如果if条件成立的情况下需要执行多条语句,只要保持多条语句具有相同的缩进就可以了,换句话说连续的代码如果又保持了相同的缩进那么它们属于同一个代码块,相当于是一个执行的整体。

当然如果要构造出更多的分支,可以使用if…elif…else…结构,例如下面的分段函数求值。

例题:分段函数求值 = 3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
= 5x + 3 (x < -1)

执行如下代码 :
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
elif x >= -1:
y = x + 2
else:
y = 5 * x + 3
print(‘f(%.2f) = %.2f’ % (x, y))

———————————————————————————————————————————————
当然根据实际开发的需要,分支结构是可以嵌套的,例如判断是否通关以后还要根据你获得的宝物或者道具的数量对你的表现给出等级(比如点亮两颗或三颗星星),那么我们就需要在if的内部构造出一个新的分支结构,同理elif和else中也可以再构造新的分支,我们称之为嵌套的分支结构,也就是说上面的代码也可以写成下面的样子。
“”"
例题:分段函数求值 3x - 5 (x > 1)
f(x) = x + 2 (-1 <= x <= 1)
5x + 3 (x < -1)

执行代码如下:
x = float(input('x = '))
if x > 1:
y = 3 * x - 5
else:
if x >= -1:
y = x + 2
else:
y = 5 * x + 3
print(‘f(%.2f) = %.2f’ % (x, y))

说明:大家可以自己感受一下这两种写法到底是哪一种更好。在之前我们提到的Python之禅中有这么一句话“Flat is better than nested.”,之所以提出这个观点是因为嵌套结构的嵌套层次多了之后会严重的影响代码的可读性,如果可以使用扁平化的结构就不要去用嵌套,因此之前的写法是更好的做法。

———————————————————————————————————————————————

回顾一下昨天的作业题:(题做得简单粗糙,望大家不要见怪?)
在这里插入图片描述
第一题: f = float(input('请输入华氏温度: '))

                                c = (f - 32) / 1.8

                                print('%.1f华氏度 = %.1f摄氏度' % (f, c))

第二题:
pi = 3.14

                                radius = float(input('请输入圆的半径:'))

                                length = float(input('请输入圆的高:'))

                                area = radius * radius * pi

                                volume = area * length

                                print('底面积: %.2f' % area)

                                print('体积: %.2f' % volume)

在这里插入图片描述
第三题: rum = float(input(‘请输入您需要的英尺谢谢:’))

                  mi = rum / 0.305

                  print('英尺所变换的米数: %.3f' % mi)

第四题:
mg = int(input(‘请输入加入水的重量谢谢:’))

                   i = int(input('请输马上入水的初始温度:'))

                   f = int(input('请立即输入水的最终温度:'))

                  Q = mg * (f-i) * 4184

                  print('这个过程所产生的热量到底是多少呢: %.f' %Q)

在这里插入图片描述
第五题: nl = 2.700

                      ce = float(input('请输入差额:'))

                      lx = ce * (nl / 1200)

                      print('下月要付的利息为: %.3f' % lx)

第六题:
v0 = int(input(‘请输入它的初始速度:’))

                      v1 = int(input('请输入它的莫末速度:'))

                      t = int(input('请输入时间:'))

                      a = (v1-v0)/t

                      print('请写出它的加速度: %.f' % a)

在这里插入图片描述
第七题: yue = 0.00417

                          yi = 100 * (1 + yue)

                          er = (100 + yi) * (1 + yue)

                          san = (100 + er) * (1 + yue)

                          si = (100 + san) * (1 + yue)

                          wu = (100 + si) * (1 + yue)

                          liu = (100 + wu) * (1 + yue)

                          print('第六个月的账户总金额为: %.f' % liu)

第八题:
i = int(input(‘请输入一个数:’))

           if i<1000:

                         ge = int(i%10)
                         shi = int(i/10%10)
                         bai = int(i/100)
                         print(ge+shi+bai)

                else:

                        print('您的输入有错')

———————————————————————————————————————————————
今天的练习题:
练习1:英制单位与公制单位互换(执行代码如下):
value = float(input(‘请输入长度: ‘))
unit = input(‘请输入单位: ‘)
if unit == ‘in’ or unit == ‘英寸’:
print(’%f英寸 = %f厘米’ % (value, value * 2.54))
elif unit == ‘cm’ or unit == ‘厘米’:
print(’%f厘米 = %f英寸’ % (value, value / 2.54))
else:
print(‘请输入有效的单位’)

练习2:掷骰子决定做什么
from random import randint

face = randint(1, 6)
if face == 1:
result = ‘唱首歌’
elif face == 2:
result = ‘跳个舞’
elif face == 3:
result = ‘学狗叫’
elif face == 4:
result = ‘做俯卧撑’
elif face == 5:
result = ‘念绕口令’
else:
result = ‘讲冷笑话’
print(result)
说明:上面的代码中使用了random模块的randint函数生成指定范围的随机数来模拟掷骰子。

练习3:百分制成绩转等级制
#90分以上 --> A
#80分~89分 --> B
#70分~79分 --> C
#60分~69分 --> D
#60分以下 --> E
执行代码如下:
score = float(input('请输入成绩: '))
if score >= 90:
grade = ‘A’
elif score >= 80:
grade = ‘B’
elif score >= 70:
grade = ‘C’
elif score >= 60:
grade = ‘D’
else:
grade = ‘E’
print(‘对应的等级是:’, grade)

练习4:输入三条边长如果能构成三角形就计算周长和面积
import math

a = float(input('a = '))
b = float(input('b = '))
c = float(input('c = '))
if a + b > c and a + c > b and b + c > a:
print(‘周长: %f’ % (a + b + c))
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print(‘面积: %f’ % (area))
else:
print(‘不能构成三角形’)

练习5:个人所得税计算器。
salary = float(input('本月收入: '))
insurance = float(input('五险一金: '))
diff = salary - insurance - 3500
if diff <= 0:
rate = 0
deduction = 0
elif diff < 1500:
rate = 0.03
deduction = 0
elif diff < 4500:
rate = 0.1
deduction = 105
elif diff < 9000:
rate = 0.2
deduction = 555
elif diff < 35000:
rate = 0.25
deduction = 1005
elif diff < 55000:
rate = 0.3
deduction = 2755
elif diff < 80000:
rate = 0.35
deduction = 5505
else:
rate = 0.45
deduction = 13505
tax = abs(diff * rate - deduction)
print(‘个人所得税: ¥%.2f元’ % tax)
print(‘实际到手收入: ¥%.2f元’ % (diff + 3500 - tax))
说明:上面的代码中使用了Python内置的abs()函数取绝对值来处理-0的问题。

练习6:石头剪刀布
import random

#import numpy as np

#res = np.random.choice([‘石头’,‘✂️’,‘??‍♀️’])

#print(res)

import os

#pywin32

C_res = random.randint(0,2)
U_res = int(input(‘0:石头,1:剪刀,2:布’))
if C_res == U_res:
print(‘平局’)
else:
if C_res == 0 and U_res == 1:
print(‘电脑赢了 ?’)
#os.system(‘say you loser.’)
elif C_res == 1 and U_res == 2:
print(‘电脑赢了 ?’)
# os.system(‘say you loser.’)
elif C_res == 2 and U_res == 0:
print(‘电脑赢了 ?’)
# os.system(‘say you loser.’)
else:
print(‘你赢了 ?’)
# os.system(‘say you winer.’)

练习7:猜数字
#import random
#random.randint(0,5)

#猜数字:第一关总共10轮,每一个100分.
#由电脑随机产生两个数字,让用户输入这两个数字的和.
#最后看是进入第二关还是’Game Over’.

import random

count = 0
for i in range(10):
num1 = random.randint(0,5)
num2 = random.randint(0,5)
num = int(input(’>>’))
if num1 + num2 == num:
print(‘恭喜获得100分’)
count += 100
else:
print(‘嗷,答错了’)

if count == 1000:
print(‘开始第二关’)
else:
print(‘Game Over.’)
———————————————————————————————————————————————

希望“明天”能对我好一点~~~~~~~~

在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其中3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程中遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境中安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹中的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值