Python基础学习(到循环)

一、基本的输入与输出:

数据的输入和输出,是计算机的基本操作
输入设备:鼠标、键盘、话筒、扫描仪、摄像机、麦克风
输出设备:显示器、音响、打印机
python语言的输入和输出:
输入:input()
输出:print()
python的输入和输出

二、注释:

注释就是不需要运行的内容
单行注释:#
多行注释:“”" 这是多行注释 “”" 或者 ‘’’ 这是多行注释 ‘’’
注释
中文编码注释:# -- coding:utf8 --(用的时候复制粘贴)
python3 默认编码是utf-8(国际编码方式),所以即便我们不写中文注释,中文也会正常显示,前提是:本身的python文件是utf-8编码方式的才可以
中文编码注释

三、代码缩进与命名规范

①关于代码缩进:
python优雅的特点之一,就是没有{ },而是采用代码缩进来简化代码操作 ☆
使用Tab键(字母Q左边的键),来进行代码缩进
注意:通常缩进的距离是4个空格,有些编辑器,Tab键不是4个空格,所以需要注意,多了少了都不行

②关于命名规范:☆(凡是起名的地方,都需要遵守此项规范)
变量名的命名原则:
1、见名知意,尽可能短,不要用拼音、不要用中文
2、变量名只能是 字母、数字或下划线的任意组合
1、纯小写加下划线的方式
age_wang = 18
Print(age_wang)
2、驼峰式
AgeWang = 18
Print(AgeWang)
3、变量名的第一个字符不能是数字
4、关键字不能声明为变量名(如“print、return、int”等)

四、变量

变量的含义:临时存储数据的容器
变量的命名:遵循命名规范
#慎用I和O,因为不好区分1和0
变量名的大小写敏感 ☆ A跟a是完全不同的!(变量命名就用小写英文字母 ☆)
a=1含义:是将1赋值给a变量
注意:等号是有方向性的,即右边赋值给左边!(区别于数学的等号)
注意:纯数字不用加引号,字符串要加引号(单引双引都行)
变量命名

五、基本数据类型:

数据类型:就是变量都能够存放什么样的数据
打印变量的数据类型:type()函数
分类:
1、数字类型;
整数 int :就是整数(包括正负)
浮点数float :就是小数(包括正负)
#纯数字类型,可以不加引号 数字类型
2、字符串类型:str 表示字符串类型
使用单引或者双引,字符串必须在一行
使用三引:字符串可以分多行
#注意:引号里的纯数字,也属于字符串,不属于数字 字符串类型
3、布尔类型:真和假
True/False(大小写敏感) 布尔类型
4、数据类型转换
input获取的内容默认是字符串类型 在这里插入图片描述
int() / float() / str() / complex() 在这里插入图片描述在这里插入图片描述

	    chr()   /   ord()

在这里插入图片描述

六、运算符:

		1.算数运算符:(针对数字类型)
				四则运算:+ -  *  /

在这里插入图片描述
取余数: %
取整数: //
取幂:**
在这里插入图片描述
2.赋值运算符:
= 等号就是赋值 (右边赋值给左边)
+= -= *= /=
%= //= **=
在这里插入图片描述
3.比较运算符:(比较;类型:布尔型)
> <
>= <= == !=
在这里插入图片描述
面试题:1个等号和2个等号的区别
答:1个等号是把右边的值赋值给左边,2个等号是比较右边和左边的值是否相等

		4.逻辑运算符:与或非
		与:并且    and
		或: 或者     or
		非:  取反   not

在这里插入图片描述
5.拼接运算符:
+
当有字符串出现的时候,加号+就执行拼接作用
在这里插入图片描述
面试题:

  1. 运算符都有哪些?
    算术运算符:+ - * / // % **
    赋值运算符:+= -= *= /= //= %= **=
    比较运算符:> < >= <= == !=
    逻辑运算符: and or not
    拼接运算符:+
    2.说一下赋值运算符?
    += -= *= /= //= %= **=
    3.小写字母c对应得数值是多少?
    0是48 A是65 a是97 c是99
    4.强制类型转换常用的函数都有哪些?
    1. int() 将其他类型转换为整型
    2. float() 将其他类型转换为浮点型
    3. complex() 将其他类型转换为复数类型
    4.bool() 将其他类型转换为布尔类型
    5. str()将其他类型转换为字符串类型
    6.list()将其他类型转换为列表类型
    7.tuple() 将列表转换为元组类型
    8.set() 将其他类型转换为集合类型
    9.dict()将其他类型转换为字典类型
    5.简述python基本数据类型?
    整数型、浮点型、布尔型、复数型
    6.什么是变量?
    临时存储数据的容器
    7.单等号和双等号的区别?
    单等号是把右边的值赋给左边,双等号是比较左右两边的值是否相等
    8.常用的编码方式?有什么区别?
    常用UTF-8,1个汉字占3个字节,GBK,1个汉字占2个字节
    9.命名规范是啥?
    1.见名知意,一般用驼峰式 2.只能由下划线、英文、数字组成 3.数字不能开头 4.不能用关键字命名

七、流程控制:if/while/for 重点难点

			流程控制:代码运行,有三种形式
			1)顺序执行:由上而下
			2)分支结构:跳转
			3)循环执行:一直执行
			
			1.关于if:分支执行
				判断的概念:就是判断表达式是否成立,成立就返回True,不成立返回False
				写法:
				注意:if 后的表达式,通常用比较运算符和逻辑运算符

在这里插入图片描述
说明:在Python中,False/None/空字符串/空列表/空字典/空元组/空集合都相当于False
在这里插入图片描述
注意:不要忘记加冒号
在这里插入图片描述
练习:请输入你的分数,判断分数,90-100(A)80-90(B)70-80(C)60-70(D)60以下不及格
扩展:如果95分及以上,输出A+
在这里插入图片描述在这里插入图片描述
if 简写方式:
如果a大于99,就把a的值赋给b,否则,就把-a的值赋给b
如果a大于100,就把a的值赋给c,否则,就把-a的值赋给c
在这里插入图片描述
2.关于while:
循环的概念:只要条件满足,就会一直执行某些代码,直到条件不成立为止
循环四要素:
初始值、条件、增量、循环体
快速入门:
在这里插入图片描述
变换:

在这里插入图片描述
3.关于for循环:
写法: for循环在python中被封装了(内部也是有四要素)
在这里插入图片描述
for循环输出数字:需要借助range()函数
在这里插入图片描述
4.关于循环关键字:
break: 表示终止循环
continue: 表示终止本次循环,进入到下一次循环中
在这里插入图片描述
练习:
1.一家商场在降价促销,如果购买金额50-100元(包含50和100元)之间,会给10%的折扣,
如果购买金额大于100元会给20%的折扣,编写一程序,询问购买价格,再显示出折扣(10%或20%)和最终价格。

bay=float(input())
if bay>=50  and  bay<=100:
    escount=bay*(10/100)
    Final_price=bay-escount
    print('折扣'+str(escount),'最终价格'+str(Final_price))
elif bay>100:
    escount=bay*0.2
    Final_price=bay-escount
    print('折扣'+str(escount),'最终价格'+str(Final_price))
else:
    escount=bay
    Final_price=bay
    print('折扣'+str(escount),'最终价格'+str(Final_price))

2.输入一个数,判断一个数n能同时被3和5整除。

number=int(input())
if number%3==0 and number%5==0:
    print(str(number)+'能被整除')
else:
    print('不能被3和5同时整除')

3.输入一个年份,输出是否为闰年。闰年条件:能被4整除但不能被100整除,或者能被400整除的年份都是闰年。

year=int(input())
if year%4==0 and year%100!=0   or year%400==0:
    print(str(year)+'是闰年')
else:
    print("不是闰年")

4.一个5位数,判断它是不是回文数,(12321就是回文数),个位与万位相同,十位与千位相同,根据判断打印出相关信息。

number=int(input())
if (number//10000)==(number%10)  and ((number//1000)%10)==((number%100)//10):
    print(str(number)+'是回文数')
else:
    print('不是回文数')

5.利用random函数生成随机整数,从1-100取出来。然后输入一个数字,来猜输入的数与随机数的大小,如果大于则打印bigger,如果小于则打印less,如果相等,则打印equal。
提示:导入random—> import random 生成随机数 —>num=random.randint(1,100)

import random
shu_ru=int(input())
num=random.randint(1,100)
print(num)
if shu_ru>num:
        print("bigger")
elif shu_ru<num:
        print("less")
else:
        print("equal")

6.完成1-10之间整数数字相加的和,并打印出最后的结果。

sum=0                        #额外的变量帮助我们存和       
for num in range(1,11):
    print(num)              #查看num的每一个值
    sum+=num
print(sum)

7.一个足球队在寻找年龄在10-12岁的小女孩(包括10岁和12岁)加入,编写一个程序,询问用户的性别(m表示男性,f表示女性)和年龄,然后显示一条消息指出这个人是否可以加入球队,询问10次后,输出满足条件的总人数。

sum=0
for  i in range(1,11):
    sex=input("请问您的性别是?[m或者f]")
    age=int(input('请问您多大了?'))
    if sex =='f' and   10<=age<=12:
        sum+=1
    else:
        print("对不起,不适合")
    #判断输入次数
    if i>10:
        print("询问次数已经使用完毕")
        break
print("满足条件的用户总数为"+str(sum))

8.输出99乘法表。

for x in range(1,10):               #外层循环控制纵向
    for y in range(1,x+1):           #内层循环控制横向
        print(str(y) + '*' + str(x) + '=' + str(x * y), end='\t')
    print()    #换行

9.经典冒泡排序利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序。冒泡排序:小的排前面,大的排后面

10.有1,2,3,4这四个数字,能组成多少个互不相同且无重复数字的三个数?分别是什么?
提示:123,321就是符合要求,数字既不相同,而且每个数字的个十百位也不重复;而121,212就不行,因为数字的各位与百位重复

11.请用嵌套for循环输入如下直角三角形
*
**
***
****
*****

for i in range(1,6):                #外层控制纵向
    for n in range(6-i,6):          #内层控制横向
        print('*',end=" ")    #end表示换行
    print()     #换行

12.请用嵌套for循环输出如下等边三角形(三个边均是5个*)

for i in range(1,6):
    for j in range(1,6-i):
        print(" ",end="")       #先打印出左上角的直角三角形
    print("* "*i)               #输出直角三角形

13.假设一个简单的ATM机的取款过程是这样的:
首先提示用户输入密码(password),最多只能输入三次,超过3次则提示用户“密码错误,请取卡”结束交易。如果用户密码正确,
再提示用户输入取款金额(amount),ATM机只能输出100元的纸币,一次取钱数要求最低100元,最高1000元。
若用户输入的金额符合上述要求,则打印输出用户取得钱数,最后提示用户“交易完成,请取卡”,否则提示用户重新输入金额。假设用户密码是111111,请编程实现。

14.公园里有一只猴子和一堆桃子,猴子每天吃掉桃子总数的一半,把剩下一半中扔掉一个坏的。到第七天的时候,猴子睁开眼发现只剩下一个桃子。问公园里刚开始有多少个桃子?

15.有一个棋盘,有64个方格,在第一个方格里面放1粒芝麻重量是0.00001kg,第二个里面放2粒,第三个里面放4,求棋盘上放的所有芝麻的重量

16.大马驮2石粮食,中马驮1石粮食,两头小马驮一石粮食,要用100匹马,驮100石粮食,该如何调配?

17.实现1!+2!+3!+4!+5!+…+n! n!为n的阶乘 等于 1 * 2 * 3 * 4…* n

18.假设某人有100,000现金.每经过一次路口需要进行一次交费. 交费规则为当他现金大于50,000时每次需要交5%如果现金小于等于50,000时每次交5,000.请写一程序计算此人可以经过多少次这个路口

19.四位玫瑰数是4位数的自幂数。自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身,求10000以内的玫瑰数

20.100以内素数之和(素数也叫质数。一个大于1的正整数,如果除了1和它本身以外,不能被其他正整数整除)

21.求1000以内水仙花数: 如果一个3位数等于其各位数字的立方和,这个数就是水仙花数

22.随机选择一个三位以内的数字作为答案。用户输入一个数字,程序会提示大了或是小了

23.输入年、月,输出本月有多少天。合理选择分支语句完成设计任务。
输入样例1:2004 2
输出结果1:本月29天
输入样例2:2010 4
输出结果2:本月30天

24.根据用于指定月份,打印该月份所属的季节。
提示:3,4,5 春季
6,7,8 夏季
9,10,11 秋季
12, 1, 2 冬季

面试题:
终止循环的两个关键字?区别是什么?
python循环共有几个?循环的四要素是啥?
什么是流程控制?都有哪几种形式?
简述99乘法表的代码设计思路?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值