首页 > 编程语言 >聪明办法学Python-2023-task01

聪明办法学Python-2023-task01

时间:2023-11-21 23:46:15浏览次数:128  
标签:Python print 输入 2023 task01 whale Data math

task00

因为完全按照视频教学傻瓜式操作即可完全学会,这里不做赘述

视频链接:【安装】 手把手带你配置AI环境_哔哩哔哩_bilibili

task01

参考视频链接[Chap 1 启航] 聪明办法学Python第二版_哔哩哔哩_bilibili

注释 Comment

分类:

  • 单行注释,使用 # 开头
  • 多行注释,使用 '''""" 包裹起来(一般为俩行)

作用:

  • 注释主要是用于对代码进行解释和说明,可以提升代码的可读性
  • 注释并不会被当做代码处理 # magic comment 除外(现在很少见)

程序员最讨厌的 10 件事:0. 别人的代码不写注释。 1. 给自己的代码写注释

当初写这段代码的时候只有上帝和我知道它是干嘛的,现在只有上帝知道

主要是为了自己和别人能看懂

单行注释

使用 # 开头,# 后面的内容不会被当做代码,只能写在一行中,例:

print("Datawhale") # for the learner,和学习者一起成长 
# output 输出, print 打印

结果:Datawhale

# learn python the smart way v2
print("p2s")
# print("prepare to be smart")

结果:p2s

多行注释

使用 '''""" 包裹起来(头和尾都是 3 个),单引号(')与双引号(")在 Python 中并无太大区别

print("人生苦短,我用 Python")
'''
Python is powerful... and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.
'''

结果:人生苦短,我用 Python

基础的控制台输出 Basic Console Output

# print实际上就是个函数f(x),带" "相当于一个字符串 string 引号里面的是内容
print("Datawhale") # for the learner,和学习者一起成长

print() 的作用是将填入的内容显示在 Console 中,默认每次输入后会换行(等价于按了一次回车,或者 \n

控制结尾的参数是 end

print("Data")
print("whale")
Data # 默认换行
whale

print("Data", end="*") # end可以包含自己后面想要包含的东西
# 相当于多元函数f(x,y = ''),给y赋了个值(默认是\n :转义字符,表示换行)
print("whale")
Data*whale # 可以用 或者不用来不换行

print() 一次也可以输出多个内容,默认以空格分隔

控制分隔的参数是 sep

print("Data","whale") # 默认空格
Data whale
print("Data", "whale", sep="*")
Data*whale

你甚至可以做加法乘法

print("p2s"*2,"data"*3, sep="/"*4)# 以4个/间隔
# *2,*3表示打印几次
p2sp2s////datadatadata
print("Data"+"whale"+"P2S")
DatawhaleP2S

一些更好玩的做法

我们假设,

x = 1
y = 2
print(f"一个简单的数学问题:\"{x} + {y} = ?\",答案是 {x+y}!") # f-strings
# 这里可以用{}花括号包含上一个已经定义了的参数,自动引入
一个简单的数学问题:"1 + 2 = ?",答案是 3!

如果我想一次性输出很多行

print("""
Python is powerful... and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.
""")# 三个引号即可
Python is powerful... and fast;
plays well with others;
runs everywhere;
is friendly & easy to learn;
is Open.

错误 Error

  • 语法错误 Syntax Errors,不符合语法规范,代码根本没有开始运行
  • “运行时”错误 Runtime Errors,代码在运行过程中出错,也就是常说的“崩溃”(Crash)
  • 逻辑错误 Logical Errors,代码能够运行,且运行过程中没有出错,但是不是想要的结果

逻辑错误是最难察觉的错误

# 语法错误(在编译时出错,Python 并没有开始运行代码)
print("哦不!) # Error! 缺少结尾引号
  Cell In[1], line 2
    print("哦不!) # Error! 缺少结尾引号
          ^
SyntaxError: unterminated string literal (detected at line 2)
# “运行时”错误(Python 开始运行代码,但是遇到了些问题)
print(1/0) # Error! 0 被作为除数
---------------------------------------------------------------------------
ZeroDivisionError                         Traceback (most recent call last)
Cell In [28], line 2
      1 # “运行时”错误(Python 开始运行代码,但是遇到了些问题)
----> 2 print(1/0)

ZeroDivisionError: division by zero
# Logical Errors (Compiles and runs, but is wrong!)
# 逻辑错误(能编译,能运行,但不是想要的结果)
print("2+2=5") # Error! 算错了!!!
# 我们想要:4!
2+2=5 # 所得到的结果不是所预期的结果

基础的控制台输入 Basic Console Input

input() 可以接收 Console 的输入,并以字符串的形式返回,你可以给定个字符串参数,它会先输出到 Console,再接收输入

name = input("输入你的名字:")
print("あなたの名前は", name, "です") # Unicode编码
输入你的名字:龙的传人
あなたの名前は 龙的传人 です

注意!返回的格式是字符串

x = input("输入一个数字")
print(x, "的一半等于", x/2) # Error!
输入一个数字10
#--------------------------------------------#
TypeError                                 Traceback (most recent call last)
Cell In [33], line 2
      1 x = input("输入一个数字")
----> 2 print(x, "的一半等于", x/2)

TypeError: unsupported operand type(s) for /: 'str' and 'int'
# 可以自己看懂就思考一下

如果就是想输入数据的话就强制类型转换

x = input("输入一个数字")
x = int(x) # 类型转换 float(x)
x = int(input("输入一个数字:")) # f(g(x)) 嵌套函数
print(x, "的一半等于", x/2) # 对味啦
输入一个数字10
10 的一半等于 5.0

一行多个输入值

如: 1 -> a,2 -> b

可以在结尾加上 split(),默认分隔参数是空格,可以更改,如:split(",")

a, b = input().split("*") # 解包 对用户输入的数据分别分配到各个变量后输出
print(f"a = {a}, b = {b}")
1*2
a = 1, b = 2

导入模块

Python 中有许多强大的工具箱,我们把它们叫做“库”(Library),课程后期会介绍更多强大的工具

库需要使用 import 来导入,并且使用 xx.yy的方式来调用,我们今天只作粗略介绍

以 Python 内置数学库 math 为例:

# 阶乘 factorial
print(math.factorial(20))
#--------------------------------------------#
NameError                                 Traceback (most recent call last)
Cell In [39], line 2
      1 # 阶乘 factorial
----> 2 print(math.factorial(20))

NameError: name 'math' is not defined
# 未导入
import math # 使用库前要先导入!
print(math.factorial(20000))
#--------------------------------------------#
ValueError                                Traceback (most recent call last)
Cell In [43], line 2
      1 import math # 使用库前要先导入!
----> 2 print(math.factorial(20000))

ValueError: Exceeds the limit (4300) for integer string conversion; use sys.set_int_max_str_digits() to increase the limit
# Euler 常数
print(math.e) # 还有pi,tau等
2.718281828459045
# gcd 最大公约数
math.gcd(12, 36)
12
def f(x):
    a = x*(math.pi/180)
    print(math.sin(a))
interact(f,x=30)
interactive(children=(IntSlider(value=30, description='x', max=90, min=-30), Output()), _dom_classes=('widget-…
def f(x):
    a = x*(math.pi/180)
    print(math.sin(a))
interact(f,x=30)
interactive(children=(IntSlider(value=30, description='x', max=90, min=-30), Output()), _dom_classes=('widget-…

补充资料

用Python计算的误差,浮点误差

0.1+0.2≠0.3?? 无可避免的浮点误差:https://www.bilibili.com/video/BV1xq4y1D7Ep

总结

  • 写注释是个好习惯
  • 调整输入输出的参数来控制其呈现效果
  • 大部分错误类型可以归为:语法错误、运行时错误和逻辑错误
  • Python 的库能让很多操作变方便

标签:Python,print,输入,2023,task01,whale,Data,math
From: https://www.cnblogs.com/Lyanv/p/17847914.html

相关文章

  • python_datetime日期时间
    #!/usr/bin/python3#-*-coding:UTF-8-*-importdatetimeimporttime#时间戳ticks=time.time()print(ticks)#结构体时间{tm_year...}localtime=time.localtime(ticks)print(localtime)#格式化时间strftime=time.asctime(localtime)print(strftime)#获取当前日......
  • 聪明班法学python task1
    Python课程简介Python是一种非常流行的编程语言,是人工智能的主流语言。特点:代码少,比c简单安装Installation安装清单(默认配置即可):Miniconda1.需要激活环境2.更换镜像源【可加快国内资源下载速度】​ Pip换源​ Conda换源VisualStudioCodeGit启航GETTINGSTARTED第......
  • python_字段dict
    字典,类似json#!/usr/bin/python3#-*-coding:UTF-8-*-importjsondata={'name':'abc','age':{'zhousui':7,'xusui':8},'class':'first'}print(data)strJson=json.dumps(data)#json转字符串pr......
  • python学习
    python学习第一周注释单行注释:用#开头多行注释:用'''或"""包裹起来快捷键:ctrl+/缩进Tap:向前缩进shift+Tap:向后缩进printprint默认每次换行print("Date")print("whale")输出Datewhaleprint("date",end="")print("whale&q......
  • 聪明办法学python【安装】+【启航】
    聪明办法学python—1任务【0】安装conda配置顺便了解了anniconda和miniconda的联系:mini体谅更小,但是没有图形化界面配置下载的一般流程:找一个镜像网站(因为服务器在国外,直接下载很慢)​校园网联合镜像站https://help.mirrors.cernet.edu.cn/​阿里巴巴开源......
  • 20231121
    2023/11/21树状数组t[i],为树状数组;a[i],为原数组t[i]代表的区间为a(i-lowbit(i)+1)~a(i)这个区间。所以求前缀的时候,每次-=lowbit(x),区间是连续接起来的修改操作,a[x]+val,原数组单点加,那么我们要去树状数组上找哪些节点包含a[x],所以是一个+=lowbit(x)的过程#include<bits/......
  • 聪明办法学python chap1
    第一行代码:不需要intmain、return0等,直接一行代码注释:单行注释#开头,多行注释'',"""包裹基础的控制台输出:Print(Print默认输入后会换行)可以一次输出多个内容,可做加法、乘法控制结尾参数是end,在print后加end=""不换行控制分隔参数是sep,sep="想要符号"在print里的内容前加一个f,后面......
  • NOIP2023 游记
    Day-inf打模拟赛。别的忘了。Day0抽一个早上。因为没有在5s内算出16^3被AzusidNya嘲讽一整天。中午走之前去剪刀顺了两瓶牢大,一点半坐车去中山。手机被少强收了,看Cust10抽一个钟1.6,然后靠在qyzyq肩上睡了一个钟。三点半左右到希尔顿,四点跟xishanmeigao......
  • 每日总结2023年11月21日
    node:internal/crypto/hash:69  this[kHandle]=new_Hash(algorithm,xofLen);          ^ Error:error:0308010C:digitalenveloperoutines::unsupported这是我从GitHub上下载的项目,在运行前端vue时出现的问题,在网上搜了一下有两个方法,一个......
  • 2023-2024-2 20232404 《网络空间安全导论》第2周学习总结
    教材学习内容总结密码学概述总结:1代换和置换,构造现代成对密码算法最重要核心;2香农是当代密码及信息学的集大成者,大多有关学说无法跳出其框架。密码学基本概念总结:1、RSA是第一个既能用于数据加密也能用于数字签名的算法;2与数学联系紧密,且中国也作出了一定贡献。密码学新......