首页 > 编程语言 >从零开始的python之旅(day3)

从零开始的python之旅(day3)

时间:2025-01-14 21:56:11浏览次数:1  
标签:python bmi day3 int rate 从零开始 print def

从零开始的python之旅(day3)

  越学python越觉得其功能丰富,而且相对于c语言来说,python可能更适合新手入门,两个都是相通的,看自己对哪方面感兴趣吧
  先让我们来对昨天作业收一下尾

  BMI

x = float(input('请输入体重(kg)\n'))
y = float(input('请输入身高(m)\n'))

bmi = float(x / y ** 2)
if bmi < 18.5:
    print('您的bmi为{0:.2f},国际指标偏瘦,国内指标偏瘦\n'.format(bmi))
elif bmi < 25:
    if bmi < 24:
        print('您的bmi为{0:.2f},国际指标正常,国内指标正常\n'.format(bmi))
    else :
        print('您的bmi为{0:.2f},国际指标正常,国内指标偏胖\n'.format(bmi))
elif bmi < 30:
    if bmi < 28:
        print('您的bmi为{0:.2f},国际指标偏胖,国内指标偏胖\n'.format(bmi))
    else :
        print('您的bmi为{0:.2f},国际指标偏胖,国内指标肥胖\n'.format(bmi))
else :
    print('您的bmi为{0:.2f},国际指标肥胖,国内指标肥胖\n'.format(bmi))

  score

score = float(input('请输入成绩\n'))
grade = ''

if score >= 60.00:
    grade = 'D'
elif score >= 70.00:
    grade = 'C'
elif score >= 80.00:
    grade = 'B'
elif score >= 90.00:#这里老师写错了应该
    grade = 'A'

print(grade)
#grade为D,因为它满足第一个if,后面就没有elif了

  然后今天学的主要内容就是,python中的函数调用以及递归,其实来说,和c语言没多大差距,但是函数调用时还是有点不同的,类似c语言中,如果你要在函数中改传入值时你可能需要指针来做,比如以下代码

#include<stdio.h>

int solve(int a){
	a ++;
} 

int main(void)
{
	int a = 0;
	solve(a);
	printf("%d",a);
} 

  并不会改变a的值,所以输出的值还是0,但是我们运用指针,则可以通过地址修改a的值也就是这样

#include<stdio.h>

int solve(int *a){
	(*a) ++;
} 

int main(void)
{
	int a = 0;
	solve(&a);
	printf("%d",a);
} 

  我讲这个是为了引入一个概念:地址,指针指向的是改变量储存的地址,直接对地址内容进行操作,会对原来的值起作用,也就是这样就可以修改a的值,这样以后输出就是1了,那这和python有什么关系呢?看看这段python代码吧

def addInterest(balances,rate):
    balances = balances *(1+rate)
def main():
    amounts = 1000
    rate = 0.05
    addInterest(amounts,rate)
    print(amounts)
main()

  以上代码输出还是1000,函数内的值没改变,那有人就会问了,那我用和c语言类似方法指针可不可以?

  而python中并没有指针这个概念好像,day3目前没学到以后学到了我再回来改,也就是说永远无法像c那样做到函数内修改,函数外就没用吗提裤不认人?NoNoNONO,在python中有些类型是可以修改的,比如列表类型,上代码

def addInterest(balances,rate):
    for i in range(len(balances)):
        balances[i] = balances[i]*(1 + rate)
def main():
    amounts = [1000,200]
    rate = 0.05
    addInterest(amounts,rate)
    print(amounts)
main()

  在这段代码中,值居然改变了,为什么int不行,列表可以呢?个人理解哈,主要是python的性质,对于int类型重新赋值,你以为是重新赋值,其实是搬家了,储存位置发生了改变,也就是c语言中的地址发生改变了,也就是给你创出来一个新的int类型了,你在那个上面做的操作并不会影响原地址,而列表就不一样了,列表是可变的数据类型,也就是说,重新赋值也是在原地址上的操作,储存位置不会改变。ok差不多是这些,下面还是些作业

  reverse

def reverse(s):
    if s == '':
        return s
    return reverse(s[1:])+s[0]
print(reverse('hello'))

  makeTree

import turtle
from turtle import Turtle
def tree(plist,l,a,f):
    if l >= 5:
        list = []
        for p in plist:
            p.fd(l)
            q = p.clone()
            q.right(a)
            p.left(a)
            list.append(p)
            list.append(q)
        tree(list,l * f,a,f)
def maketree(x,y):
    p = Turtle()
    p.color('green')
    p.getscreen().tracer(3,0)
    p.pensize(5)
    p.left(90)
    p.penup()
    p.speed(1)
    p.hideturtle()
    p.goto(x,y)
    p.pendown()
    tree([p],200,65,0.5)
    print(len(p.getscreen().turtles()))
def main():
    maketree(-200,-200)
    maketree(0,0)
    maketree(200,-200)
    turtle.done()
main()

  这大概就是我今日所学,才疏学浅,如果有错误的地方,请不吝赐教。

标签:python,bmi,day3,int,rate,从零开始,print,def
From: https://www.cnblogs.com/Liyukio/p/18671765

相关文章

  • Python处理Excel数据的方法,这一篇文章就够了!!
    Excel是数据处理的“瑞士军刀”,在日常工作中扮演着重要角色。然而,面对复杂的Excel文件时,手动处理显然效率低下。那么,如何利用Python高效地处理Excel数据?xlrd、xlwt、openpyxl和pandas是不可或缺的利器。今天,我们就来深度剖析这些工具,教你用Python优雅地操作Excel!......
  • python语言A站视频爬虫程序代码QZQ1
    importrequestsimportosimportsubprocess#https://ali-safety-video.acfun.cn/mediacloud/acfun/acfun_video/3fd2d78e1ebba085-529617cf38bbad5860227fbdf3a41546-hls_720p_2.00003.ts?pkey=ABC_F8k9Ed6OSnAdir8rrRmbYfeU39b5CvYeJQ3ttw8ZLQzlfk1NZNLJOlmwW-9ENIIuNL......
  • python语言tengxunshipin爬虫程序代码QZQ2
    importrequests#找媒体的请求url即可。url=‘https://f3e3963e336d9d3bdc18adcb0240e796.v.smtcdns.com/music.qqvideo.tc.qq.com/AIRFhqAd3UEXqwLOz5sfupz_V8TD-xZxVeAZnZUXZJYg/B_JxNyiJmktHRgresXhfyMep_mLAvgwYmAjetftmCCCW-f7a09P0_-_3BS3XuKJsUR/k0012md5982.mp4......
  • Python 文件和异常捕获(详解)
            前言:在Python编码中,我们会学到python中的文件的读取与写入,当然还有对文件夹的操作,在文章的最后还有异常捕获的详细解释~~一.文件的概念:        有名称:每个文件都有一个文件名,用于在特定的文件系统中唯一标识该文件,方便用户和系统对文件进行识别、访......
  • Python用Lasso改进线性混合模型Linear Mixed Model分析拟南芥和小鼠复杂性状遗传机制
    全文链接:https://tecdat.cn/?p=38800原文出处:拓端数据部落公众号在生物医学领域,探究可遗传性状的遗传基础是关键挑战之一。对于受多基因位点多因素控制的性状,准确检测其关联存在诸多困难,且易受群体结构等混杂因素影响产生假阳性结果。本文帮助客户建立Lasso线性混合模型,它能实现......
  • Python线性混合效应回归LMER分析大鼠幼崽体重数据、假设检验可视化
    全文链接:https://tecdat.cn/?p=38816原文出处:拓端数据部落公众号在数据分析领域,当数据呈现出层次结构时,传统的一般线性模型(GLM)可能无法充分捕捉数据的特征。混合效应回归作为GLM的扩展,能够有效处理这类具有层次结构的数据,如聚类数据、重复测量数据和纵向数据等。本文将深入探讨......
  • 关于python的初步学习
    python中的数据类型:整数(int):用于表示整数,例如-5,0,10等。浮点数(float):用于表示小数,例如3.14,-0.5等。字符串(str):用于表示文本,例如"Hello",'World'等。布尔值(bool):用于表示真或假,只有两个值,True和False。列表(list):用于存储一组有序的数据,可以包含不同类型的元素,例如[1,2,3]......
  • 【python】OpenCV—Extract Horizontal and Vertical Lines—Morphology
    文章目录1、功能描述2、代码实现3、效果展示4、完整代码5、参考更多有趣的代码示例,可参考【Programming】1、功能描述基于opencv-python库,利用形态学的腐蚀和膨胀,提取图片中的水平或者竖直线条2、代码实现导入基本的库函数importnumpyasnpimportcv2as......
  • 【python游戏】最经典的五个小游戏(完整代码)
    文章目录前言案例1:猜数字游戏案例2:石头剪刀布游戏案例3:使用pygame的简单打砖块游戏案例4:井字棋(Tic-Tac-Toe)案例5:贪吃蛇游戏(使用pygame)前言当然,我可以为你提供五个简单的Python游戏案例。这些游戏涵盖了不同的难度和类型,从文本冒险到简单的图形界面游戏。......
  • python 更新pip镜像源
    前言默认情况下pip使用的是国外的镜像,在下载的时候速度非常慢,下载速度是几kb或者几十kb,花费的时间比较长。解决办法国内目前有些机构或者公司整理了对应的镜像源,使得通过内网就能访问即可,下载速度达到几百kb或者几M,速度对比而言简直一个天上,一个地下。国内源:阿里云:http://m......