头秃的初学者第一周总结

第一周总结

1.编程环境搭建

  • 工欲善其事,必先利其器,搭建好整个python环境对我们学习来说尤为重要。要进行python开发,需要先安装python解释器。由于python是解释型编程语言,所以需要一个解释器,这样才能运行编写的代码。这里说的安装python实际上就是安装python解释器。具体安装的整个细节可以看我前几篇文章。

2.知识汇总(简答函数+一道例题)

1.进制转化

a = 110
b = 0o110
# 十进八进制
c = 0x110
# 十进十六进制
d = 0b110
# 十进二进制

print(a, b, c, d)

print(bin(47))
# 十进二进制
print(oct(47))
# 十进八进制
print(hex(47))
# 十进16进制

2.分支结构:if-else,和if-elif-else

"""
         3x-5 ,  x>1
f(x)    x+2  , -1<=x<=1
         5x+3 , x<-1
"""
x = float(input('请输入x的值:'))
if x > 1:
    y = 3*x - 5
elif x >= -1:
    y = x + 2
else:
    y = 5*x + 3
print('输出结果:', y)
# 第一种写法
x = float(input('请输入x的值:'))
if x > 1:
    y = 3*x - 5
else:
    if x >= -1:
        y = x + 2
    else:
        y = 5*x + 3
print('输出结果:', y)
# 第二种写法

​ 在对比之下,第一种会更方便,因为第二周if里面又套了一个if。会显得结构很复杂在[Python之禅]中有这么一句话:“Flat is better than nested”。之所以提倡代码“扁平化”是因为嵌套结构的嵌套层次如果很多,会严重的影响代码的可读性,所以能使用扁平化结构时就不要使用嵌套结构。

3.循环函数(for _ in range())

for i in range(110, 101, -3):
    print(i, '*')
# 第一个数值是起始值,第二个数值是结束值,第三个是步长。
# 起始值能取,结束值不能取
print(i, 'bbb')
# b没有进入循环
  • 例题
total = 0
for i in range(1, 101):
    total += i
print(total)

print(sum(range(1, 101)))
# 计算1到100的和

4.关系判断

"""
符合的赋值运算----->  += -= *= /=
 关系运算符 --->   > < >= <= == !=    ---->产生布尔值(ture or false)
 逻辑运算符---->   and(与) or(或) not(非)
"""
print(True and True)
print(True and False)
print(False and True)
print(False and False)
# 除了第一个,其他全是假
print('-' * 10)

print(True or True)
print(True or False)
print(False or True)
print(False or False)
# 除了第四个,其他全是真

a = float(input('请输入数据:'))
b = input('请选择单位(厘米/英寸):')
if b == '厘米':
    c = 0.393 * a
    b1 = '英寸'
if b == '英寸':
    c = float(2.54 * a)
    b1 = '厘米'
print('结果为:', c, b1)
# 进制双向转化

5.循环函数和关系判断总和应用

"""
输入两个正整数,求最大公约数
"""
a = int(input('输入第一个正整数:'))
b = int(input('输入第二个正整数:'))
i = 0
if a > b:
    for i in range(a, 0, -1):
        if a % i == 0 and b % i == 0:
            print('最大公因数:', i)
            break

if a < b:
    for i in range(b, 0, -1):
        if a % i == 0 and b % i == 0:
            print('最大公因数:', i)
            break

if a == b:
    print('最大公因数:', a)

6.循环函数(while)

n = int(input('输入n:'))
total = 0
while n > 0:
    a = n % 10
    total = total*10 + a
    n = n // 10
print(total)
# 将任意一个数字,倒转
# while后面跟的是条件,如果是Ture,那就是死循环

7.双循环的应用

n = int(input('请输入行数:'))
for h in range(1, n + 1):
    for j in range(1, n+1):
        print(f'{h*j:<10d}', end='      ')
    print()
# 数字矩阵
import time
start = time.time()
for num in range(2, 10000):
    is_prime = True
    for i in range(2, int(num**0.5)+1):
        if num % i == 0:
            is_prime = False
            break

    if is_prime:
        print(num, end='\n')
end = time.time()
print(f'执行所用时间:{end-start:.10f}')
# 计算范围内所有质数
import  time

start = time.time()
for num in range(2, 10000):
    total = 1
    for i in range(2, int(num**0.5)+1):
        if num % i == 0:
            total += i
            if i !=num // i:
                total += num //i

    if num == total:
        print(num)

end = time.time()
print(f'运行时间:{end-start:.3f}')
# 找出1-10000之间的完美数(除自身外所有因子的和等于这个数)
# 双循环
# 用时间函数,查看运行时间

8.列表函数

num = [1, 100, 1000]
print(type(num))
print(num)

num.append(10000)
# 在最后添加??

num.insert(1, 10)
# 在一号数字前面添加,??

num.pop()
# 删除元素(默认最后一个)

print(len(num))
# len()函数,计算列表长度

9.列表的索引

nums = [1, 100, 1000]
print(type(nums))
print(nums)

print(nums[0])
# 打印num列表中第三号位数字。索引

10.列表的三种遍历

nums = [1, 100, 1000]

for i in range(len(nums)):
    print(nums[i])
#   nums[i]=100
# print(nums)
print('-'*10)
# 遍历列表中所有数字,可以读写

for x in nums:
    print(x)
print('-'*10)
# 只能读

for i, x in enumerate(nums):
    print(i,x)
# 可以用于加序号

11.通过列表高级函数统计应用

import random

fs = [0] * 6

for _ in range(60000):
    face = random.randrange(1, 7)
    fs[face - 1] += 1
print(fs)
for i in range(len(fs)):
    print(f'{i + 1}点出现了{fs[i]}次')
print('-' * 10)
for i, a in enumerate(fs):
    print(f'{i + 1}点出现了{fs[i]}次')
    
# 掷骰子,统计各点数出现的次数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值