cs50p-notes private

less than 1 minute read

Published:

These are notes written for myself,which maybe complicated for others to understand.

显示效果和预览的完全不一样,变得乱七八糟,乐,到时候把导出的pdf传上来会好看些吧


week 0 Functions,Variables

  • vscode命令
$ code hello.py 编辑
$ python hello.py 运行
  • print("hello,world!") ““和’‘都可以
    • 每个printf()输出会自动换行
      • 在末尾加print("hello",end=""),本来end引号里面是 \n ,改成没有就不会换行了(当然可以改成别的想输出的话)
    • 这里反映了print()本身的一些参数
      • 参数间隔参数print("一些句子",sep="?")这样参数之间就会用 ? 隔开而不是默认的空格代表separate
    • 为了输出
  • input() 输入函数
    • 括号里可以加输入提示语,会在输入前先输出提示语
      • input("Please give me your name.")
    • 为了利用输入的结果,name = input("……")
    • 然后输出 print(name)
  • 这样我们就有print("hello, " + name)
    • 但是用 , 代替 + 更好 , 不限制参数类型
    • 以及 , 隔开的参数输出时会自动用空格隔开
    • 实际上 + 连接时算一个参数
  • 难道不能一句话写完吗?
    • print(f"hello, {name}") 加 f 格式化字符串就可以了
  • 一些字符串操作
    • name = name.strip() 去除字符串左右的空格
    • name = name.capitalize() 让第一个字母大写
    • name = name.title() 让每个单词首字母大写
    • 显然有更紧凑的办法 name=input("tell me name").strip().title()
    • 只获取部分字符串,比如按空格分开人名
      • first,second = name.split(" ")
      • 这样就可以单独输出first等部分了
  • 注释符号为 # 内容 效果是一行
    • 多行注释 “”” 内容 “””
  • 我们知道 + 用来连接字符串,那么怎么做计算呢?
    • python不用定义变量,但也有指明类型的方法
    • z=int(x)+int(y)这样就能把 + 理解成加法了
    • 还是复杂了 x = int(input("What's x?")) 不用每次用x都要改格式
  • round() 可以使括号里的数四舍五入(显然浮点数)
    • round(z, 2)可以改成保留两位,当然格式化输出也可以做到print(f"{z:.2f}")
  • 千位分隔符print(f"{z:,}") 使得z每三位加逗号隔开显示
  • 函数def格式
def hello(to="world"): #没有名字就world
    print("hello,", to) #一定要缩进不然不会视为函数的部分

name=input("tell me name").strip().title()
hello(name)
  • 为了不用在主程序前塞满函数代码,可以
def main():
    name=input("tell me name").strip().title()
    hello(name)

def hello(to="world"): # 注意局部变量
    print("hello,", to)
    # 如果函数需要返回值写return 和C语言相同
# 实现了在调用主函数前定义其他函数
main()
  • 介绍了pow(a,b)即求a的b次方

Leave a Comment

在 GitHub 阅读或留言 · 历史讨论 · 历史讨论