本系列笔记用于非零基础的计算机科班同学快速掌握基本python。我建议科班同学不要听冗长的小白入门课,直接用做题和“抄题”的方式学习python,节省时间。在学过C/C++/java的基础上速成python。每道题我都会列出python的语法不同于C++/java的地方。
而且,力求在这个系列中规避“茴香豆的N种写法”,即题目用到什么写法就写什么,争取不拓展过多种炫技写法。目的也是立刻掌握,快速上手跑数据分析和机器学习,而不是八股文的学法。我相信复杂的用法自会在更高难度题目中出现,水平到了,那时候学也不迟。
也适用于想用python刷题的同学,以后会逐渐更新python刷题笔记和项目笔记。
一、输入输出
1.Hello World!
Hello World!_牛客题霸_牛客网 (nowcoder.com)
描述:
将字符串 'Hello World!' 存储到变量str中,再使用print语句将其打印出来。
输入描述:
无
输出描述:
一行输出字符串Hello World!
答案:
str = "Hello World!"
print(str)
知识点:
1)输出直接print,注意不要加f。输出不用考虑变量类型,直接把想输出的变量放进去就好
2)变量赋值之前不用声明,想用就用
3)字符串用单引号、双引号都可以
4)语句的结尾不加“;”,直接依赖换行来区分不同的语句。所以python里的缩进非常重要
2.多行输出
描述:
将字符串 'Hello World!' 存储到变量str1中,再将字符串 'Hello Nowcoder!' 存储到变量str2中,再使用print语句将其打印出来(一行一个变量)
输入描述:
无
输出描述:
第一行输出字符串Hello World!,第二行输出字符串Hello Nowcoder!
答案:
str1 = 'Hello World!'
str2 = 'Hello Nowcoder!'
print(str1)
print(str2)
另一种写法:
print('Hello World!\nHello Nowcoder!')
知识点:
1)在字符串里面加入"\n"换行
2)但是不能这样对变量,如果是变量形式写两行print自动换行。print 默认会在每次调用后添加换行符。
3.读入字符串
描述:
小白正在学习Python,从变量输出开始。请使用input函数读入一个字符串,然后将其输出。
输入描述:
输入一行字符串。
输出描述:
将读入的变量输出。
答案:
str = input()
print(str)
知识点:
1)能读取任何数据类型的函数input()。需要注意的是返回类型是string,想要转为其他的类型需要类型转换。
2)另外一点是input里面可以放字符串prompt,用来显示在屏幕上作为交互提示prompt 是一个可选参数,表示提示用户输入的字符串。这个提示会显示在获取输入之前。如果省略了 prompt,则用户将在没有任何提示的情况下输入。
user_name = input("please enter your name")
print(user_name)
4.读入整数数字
读入整数数字_牛客题霸_牛客网 (nowcoder.com)
描述:
在学会读入字符串以后,小白还想要读入整数,请你帮他使用input函数读入数字并输出数字与变量类型。
输入描述:
输入只有整数。
输出描述:
将输入的数字输出,同时换行输出变量类型。
答案:
num = int(input())
num_type = type(num)
print(num)
print(num_type)
知识点:
1)套上int()直接将input函数返回的字符串类型转化成int类型,方便接下来的输出类型。
2)type()函数用于获取对象类型,返回的是type类型。
测试type函数的返回类型:
num = 1
num_type = type(num)
print(num_type)
num_type_type = type(num_type)
print(num_type_type)
5.格式化输出(一)
格式化输出(一)_牛客题霸_牛客网 (nowcoder.com)
描述:
牛牛、牛妹和牛可乐正在Nowcoder学习Python语言,现在给定他们三个当中的某一个名字name,
假设输入的name为Niuniu,则输出 I am Niuniu and I am studying Python in Nowcoder!
请按以上句式输出相应的英文句子。
输入描述:
一行一个字符串表示名字。
输出描述:
假设输入的name为Niuniu,则输出I am Niuniu and I am studying Python in Nowcoder!
请按以上句式输出相应的英文句子。
答案:
name = input()
print("I am " + name + " and I am studying Python in Nowcoder!" )
知识点:
1)简单的字符串连接和java一样,“+”连接即可
2)还可以用format方法
句子里需要用变量替代的地方放上“{}”,之后立刻在盖字符串的引号后面.format(),出现了几个{},就要在format的括号里写出几个参数,这样程序才能知道{}分别代替的都是什么变量
age = 3
print("He is {} and has {} apples".format(age, age))
6.牛牛的小数输出
牛牛的小数输出_牛客题霸_牛客网 (nowcoder.com)
描述:
牛牛正在学习Python的输出,他想要使用print函数控制小数的位数,你能帮助它把所有读入的数据都保留两位小数输出吗?
输入描述:
读入一个浮点类型小数。
输出描述:
保留两位小数输出。
答案:
num = float(input())#这里我第一次做的时候出错了,因为没有进行类型转换
print("{:.2f}".format(num))
知识点:
1)format方法指定小数保留的位数,就是在{}里面加上:.nf,保留几位n就是几。注意{}仍在字符串的引号里。而且这题注意类型转换,不转化为float的话会报错
二、类型转换
7.小数化整数
描述:
日常生活中我们会遇到很多小数,但是有的人不喜欢小数,因此会用四舍五入的方式将其去掉。在Python中我们更加简单,可以利用强制类型转换将小数转变成整数,请你试一试。
输入描述:
输入一个浮点小数。
输出描述:
输出将其强制类型转换为int后的结果。
答案:
num = float(input())#因为输入是10.1 float类型,input是str类型所以需要转化成float
print(int(num))
8.为整数增加小数点
为整数增加小数点_牛客题霸_牛客网 (nowcoder.com)
描述:
虽说很多人讨厌小数点,但是有时候小数点是必不可少的一项,请你使用强制类型转换为输入的整数增加小数点,并输出改变类型后的变量类型。
输入描述:
输入一个整数。
输出描述:
输出强制类型转换后的结果,换行再输出变量类型。
答案:
num = int(input())
num_convert = float(num)
num_convert_type = type(num_convert)
print(num_convert)
print(num_convert_type)
知识点:
1)注意python中的变量命名法多为下划线命名法(如num_type),类名用帕斯卡命名法(如SampleFactory)
9.十六进制数的大小
十六进制数字的大小_牛客题霸_牛客网 (nowcoder.com)
描述:
计算的世界,除了二进制与十进制,使用最多的就是十六进制了,现在使用input读入一个十六进制的数字,输出它的十进制数字是多少?
输入描述:
input读入一个十六进制数字,按照字符串的形式包括数字0-9、字母A-F。
输出描述:
输出读入数字的十进制大小。
答案:
num16 = input()
print(int(num16, 16))
知识点:
1)int() :可用于将其他进制转化成十进制
class int(x, base=10)
参数x -- 字符串或数字。
base -- 进制数,默认十进制
2)bin()、oct()和hex()函数用于将十进制数转换为二进制、八进制和十六进制字符串。
num10 = 12
num2 = bin(num10)
num8 = oct(num10)
num16 = hex(num10)