【python基础】python基础1+2(print,input运算符与表达式,字符串与while循环)

一.python基础1 【print,input运算符与表达式】

1.1.注释

#这是单行注释

'''
这是单引号多行注释
颜色不一样
'''

1.2.print输出

#字符串输出
#打印一行信息,单个字符串
print("Ben is a boy")
#打印多行信息,使用多个字符串,遇到逗号输出空格
print("Ben is","a boy")

#数字输出,可以运算
print(10 + 8)
print("10 + 8 =",10 + 8)

1.3.input输入

age = input("请输入你的年龄:")
print("age =",age)

1.4.python数据类型

Xmind图暂不更新

1.5标识符 

Xmind图暂不更新

查看关键字:

import keyword
print(keyword.kwlist)

['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
 

1.6变量与常量

age = ['a','b']
#查看变量类型
print(type(age))
#查看变量地址
print(id(age))

1.7Number数字

基础功能

#连续定义多个变量
num1 = num2 = num3 = 1
num4,num5 = 4,5

#浮点数会有四舍五入误差
f1=1.1
f2=2.2
print(f1+f2)

#复数,实数部分和虚数部分组成

数学拓展

'''数字类型转换'''
#int向下取整
print(int(1.9))
print(float(1.9))
print(int('19'))
print(float('1.9'))
print(int('+19'))
print(int('-19'))
print(float('1.9'))

'''数学功能'''
#返回数字的绝对值
a1 = -10
print(abs(a1))

#比较两个数大小
#a2>a3,返回1,a2=a3,返回0,a2<a3,返回-1,
a2 =10
a3 =100
print((a2>a3)-(a2<a3))

#返回给定参数的最大值
print(max(1,2,3,4,5,6))
#返回给定参数的最小值
print(min(1,2,3,4,5,6))

#求x的y次方
x = 2
y = 5
print(pow(x, y))

#round四舍五入
print(round(3.456))
print(round(3.556))
#保留位数
print(round(3.456,1))
print(round(3.456,2))

1.8运算符与表达式

'''表达式:由变量,常量和运算符组成的式子'''

'''
算术运算符
加 减 乘 除 取模 取整 求幂
+  -  *  /   %    //   **
'''
num1 = 5
num2 = 3
print(num1 ** num2)
print(pow(5,3))
print(num1 // num2)

'''赋值运算符'''
num = 1
num = num + 1

'''
复合运算符
+= a+=b  a=a+b
'''

'''
位运算符:把数字看成2进制数运算
'''
# & 与运算,输出十进制
print(5 & 7)

# | 或运算,输出十进制
print(5 | 7)

# ^ 异或运算:当两对应的二进位相异时,结果为1,输出十进制
print(5 ^ 7)

# ~ 按位取反运算:对数据的每个二进制位取反,即把1变为0,把0变为1, ~x 类似于 -x-1
print(~7)
print(-7-1)

#<<	左移动运算符:运算数的各二进位全部左移若干位,高位丢弃,低位补0,符号位不变
#00000111  -> 00011100
print(7<<2)
print(str(int('00011100',2)))
#10000111  -> 10011100
print(-7<<2)

#>>	右移动运算符:把">>"左边的运算数的各二进位全部右移若干位
#00000111 -> 000000001
print(7>>2)
#10000111 -> 000000001
print(-7>>2)

'''
比较运算符
==	等于 
!=	不等于 
<>	不等于  比较两个对象是否不相等	
>	大于 
<	小于
>=	大于等于	
<=	小于等于 -
'''

'''
逻辑运算符
'''
#x and y 布尔"与" - true它返回 y 的计算值
a = 10
b = 20
print(a and b)
#x or y	布尔"或"- 如果x是非 0,它返回x的值,否则它返回 y 的计算值。
print(a or b)
#not x	布尔"非" 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。
print(not a)

'''成员运算符'''
List=[1,2,3,4]
#in	如果在指定的序列中找到值返回 True,否则返回 False。
# x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
print(3 in List)
#not in	如果在指定的序列中没有找到值返回 True,否则返回 False。
## x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
print(9 not in List)

'''运算符优先级 
**指数 (最高优先级)
~ + -	按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //	乘,除,取模和取整除
+ -	加法减法
>> <<	右移,左移运算符
&	位 'AND'
^ |	位运算符
<= < > >=	比较运算符
<> == !=	等于运算符
= %= /= //= -= += *= **=	赋值运算符
is is not	身份运算符
in not in	成员运算符
not and or	逻辑运算符
'''

 

二.python基础1 ——if语句练习题

2.1 从控制台输入一个三位数,如果是水仙花数就打印 “水仙花数” ,不是就打印 “不是水仙花数”

num  = int(input())
#获取百位
numB = num // 100
#获取十位
num1 = num % 100
numS = num1 // 10
#获取个位
numG = num % 10

if num == numB**3+numS**3+numG**3:
    print("水仙花数")
else:
    print("不是水仙花数")

三.python基础2【字符串与while循环】

3.1.String字符串

字符串基础

'''字符串运算'''
#字符串不可变
#字符串连接
str1 ="Ben is a "
str2 = "bad boy"
str3 =str1+str2
print(str3)

#输出重复字符串
str4 = "good"
str5 = str4 *3
print(str5)

#访问字符串某一个字符
str6 = "hello world"
print(str6[1])

#截取字符串
str7 = "hello world"
#从给定下标截取到指定下标之前[1:8]
print(str7[1:9])
#从0截取到指定下标之前[0:8]
print(str7[:9])
#从指定下标截取到结尾
print(str7[4:])

#格式化输出
num =10
str8 = "abcde"
f = 10.2345
print("num = %d,str=%s,float=%0.2f"%(num,str8,f))

'''转义字符'''
#\n  换行,表示一个字符
print("num = %d\nstr=%s\nfloat=%0.2f"%(num,str8,f))
#单\ 换行,双\\ ,第一个是转移字符,输出\
print("num\nstr\\float")
#单双引号,\" \'

#打印多行
print('''
hello
world
''')

#\t 制表符,空格
print("sunk\tgood")

#r 字符串中很多需要转义的字符,加入r""表示默认不转义
print("\\\t\\")
print(r"\\\t\\")
#适用于Linux 路径

字符串方法

'''字符串方法'''

'''eval(str)'''
#把字符串str转成int 并表达式求值
print(eval("123+4"))
print(type(eval("1233+4")))
print(eval("-12+5"))

'''len()'''
#返回字符串长度
str1 = "abcde"
print(len(str1))

'''String.lower()'''
#转换 string 中所有大写字符为小写
str2 = "BEN is a GOOD boy"
print(str2.lower())
print("%s" %(str2.lower()))

'''String.upper()'''
#转换 string 中所有小写字符为大写
str3 = "BEN is a GOOD boy"
print(str3.upper())
print("%s" %(str3.upper()))

'''String.swapcace()'''
#转换 string 中所有小写字符为大写,大写字符为小写
str4 = "BEN is a GOOD boy"
print(str4.swapcase())

'''String.capitalize()'''
#转换 string 中只有首字母大写
str5 = "BEN is a GOOD boy"
print(str5.capitalize())

'''String.title()'''
#转换 string 中每个单词首字母大写
str6 = "BEN is a GOOD boy"
print(str6.title())

'''String.title()'''
#转换 string 中每个单词首字母大写
str7 = "BEN is a GOOD boy"
print(str7.title())

'''string.center(width,fillchar)'''
#char 单个字符 character
#原字符串居中,使用填充字符(一个)填充至长度 width
str8 = "BEN is a GOOD boy"
print(str8.center(30))
print(str8.center(30,"*"))

'''string.ljust(width,fillchar)'''
#左对齐,使用填充字符(一个)填充至长度 width
str9 = "BEN is a GOOD boy"
print(str9.ljust(30,"*"))

'''string.rjust(width,fillchar)'''
#右对齐,使用填充字符(一个)填充至长度 width
str10 = "BEN is a GOOD boy"
print(str10.rjust(30,"*"))

'''string.zfill(width)'''
#右对齐,前面补0
str11 = "BEN is a GOOD boy"
print(str11.zfill(30))

'''string.count(str,start,end)'''
#输出字符串中该字符串的个数,start,end指定一个范围
str12 = "BEN is a very very  GOOD boy very"
print(str12.count("very",15))

'''string.find(str,start,end)'''
#从左到右检测str是否在string中,可指定范围
#返回第一次出现的下标,没有返回-1
str13 = "BEN is a very very  GOOD boy very"
print(str13.find("very"))
print(str13.find("very",13,len(str13)))
print(str13.find("girl"))

'''string.rfind(str,start,end)'''
#从右到左,检测str是否在string中,可指定范围
#返回第一次出现的下标,没有返回-1
str14 = "BEN is a very very  GOOD boy very"
print(str14.rfind("very"))
print(str14.rfind("very",0,13))
print(str14.rfind("girl"))

'''string.index(str,start,end)'''
#从左向右,返回str在string中的索引,可指定范围
#返回第一次出现的下标,没有返回异常
str15 = "BEN is a very very  GOOD boy very"
print(str15.index("very"))
print(str15.index("very",13))
#print(str15.index("girl"))

'''string.rindex(str,start,end)'''
#从右向左,返回str在string中的索引,可指定范围
#返回第一次出现的下标,没有返回异常
str16 = "BEN is a very very  GOOD boy very"
print(str16.rindex("very"))
print(str16.rindex("very",0,18))
#print(str16.rindex("girl"))

'''string.lstrip(char)'''
#去除左字符串的指定字符,默认为空格
str17 = "*********BEN is a very very  GOOD boy very"
print(str17.lstrip("*"))

'''string.rstrip(char)'''
#去除左字符串的指定字符,默认为空格
str18 = "BEN is a very very  GOOD boy very*********"
print(str18.rstrip("*"))

'''string.strip(char)'''
#去除字符串左右的指定字符,默认为空格
str19 = "*********BEN is a very very  GOOD boy very*********"
print(str19.strip("*"))

3.2 while语句

格式:

'''while语句'''
while True:
    语句
while 表达式:
    语句

四.练习题

4.1 打印出所有水仙花数

# 打印所有3位水仙花数
for i in range(100,1000):
    iB = i // 100
    i1 = i % 100
    iS = i1 // 10
    iG = i % 10
    if i == iB ** 3 + iS ** 3 + iG ** 3:
        print(i)

4.2从控制台输入一个数,判断是否是质数(只能被1和自身整除)

'''判断为质数'''
from math import sqrt

# 根据定义,质数除了1和本身之外没有其他约数
# 直接判断从2到n-1是否存在n的约数即可。
def isPrime(num):
    for i in range(2, num):
        if (num % i) == 0:
            print("不是质数")
            break
    else:
        print("是质数")

num = int(input())
isPrime(num)

4.3从控制台输入一个数,输出它的质因数;当读到的就是质数时,输出它本身。

def isPrime(num):
    for i in range(2, num):
        if (num % i) == 0:
            return False
    else:
        return True

def outPut(num):
    for i in range(2,num):
        if (num%i) == 0:
            print(i)

num = int(input())
if isPrime(num):
    print(num)
else:
    outPut(num)

3.2布尔值和空值

3.3list列表

3.4tuple元组

3.5条件空值语句

猜你喜欢

转载自blog.csdn.net/acycy/article/details/82556793