专栏文章

Wrx の神秘资料

学习·文化课参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipaos43
此快照首次捕获于
2025/12/03 08:54
3 个月前
此快照最后确认于
2025/12/03 08:54
3 个月前
查看原文

作业一

输入相关:

PYTHON
x=int(input())
y=int(input())
print(x+y)
#当输入数据为每行一个整数时,用上面的代码,即:直接用int类型输入

a,b,c=input().split()
a=eval(a)
b=eval(b)
c=eval(c)
print(f"{b*b-4*a*c}")
#当输入数据为一行多个整数时,用上面的代码,也可以这么写:
a,b,c=input().split()
a=int(a)
b=int(b)
c=int(c)
print(f"{b*b-4*a*c}")
#因为input输入的都是字符串,所以要用eval()函数或者int强制转换类型将其转换为数字,推荐直接用int,eval不太稳定

x=input()
y=input()
z=input()
print(f"大家好!我是{x},今年{y}岁,来自{z}。")
#当输入数据为每行一个字符串时,用上面的代码,即:直接用input()输入

a,b,c=input().split()
a=float(a)
b=float(b)
c=float(c)
print(f"{b*b-4*a*c}")
#当输入数据是小数时,处理方法和整数一样,只是强制转换类型改为float即可

输出相关:

  • 用户输入某个梯形的两个底边长和高,要求计算梯形面积,然后输出该面积
    诸如此类的数值套公式输出,直接写在print里就好:
PYTHON
print(f"{(x+y)*h/2}")
#也可以这么写,你们老师教的是上面那种就直接那么写好了
print((x+y)*h/2)
  • 输出格式: 以“area = 值" 的形式输出梯形面积值。 诸如此类数值+固定文字的输出,有以下两种写法,选一种一直用就行
PYTHON
x,y,h=input().split()
x=eval(x)
y=eval(y)
h=eval(h)
print(f"area = {(x+y)*h/2}")
#用f函数写,{}内为数值运算。也可以这么写
x,y,h=input().split()
x=eval(x)
y=eval(y)
h=eval(h)
print("area = ",(x+y)*h/2)
#“”内为固定文字,逗号后是数值运算
  • 保留小数点输出, 在一行中输出商品的折扣价,保留小数点后 2 位。
PYTHON
x,y=input().split()
x=int(x)
y=int(y)
print(f"{x*y/10:.2f}")
#即:表达式后加“:.xf”,其中x为要保留的小数位

作业二

阿福的年龄

  • 公元2080的某一天,是阿福生日。大家要给阿福准备生日蜡烛,需要多少?这得看阿福的年龄。还好你有阿福的身份证号码,来算吧~
  • 即:要在身份证中取出阿福的出生年份,涉及到字符串取数问题:左闭右开。
  • s = 320102201003076937,要取出出生年份2010,即是s[6,10],注意字符串最左边那个字符处在第0位。

7-7 过几天是星期几

  • 告诉你今天是星期几,请你计算一下过几天后是星期几。程序读入今天的星期数(0、6,分别表示星期日、星期六)和所过的天数,计算并输出未来那一天的星期数。
  • 计算后我们会得到数字0-6,需要将其转化为字符,因为是一一对应的所以可以用字典
  • 要用到数据结构:字典(dict),这个直接记格式就行,以这题的代码为例
PYTHON
x,y=input().split()
x=eval(x)
y=eval(y)
z=(x+y)%7
dict={0:'Sun.',1:'Mon.',2:'Tue.',3:'Wed.',4:'Thu.',5:'Fri.',6:'Sat.'}
print(dict[z])
#可以理解字典为两个两个值的一一对应,dict[z]就是z对应的值

作业三

选择结构

ifif elifelif elseelse
PYTHON
if 条件1:
    # 条件1为真时执行的代码块
elif 条件2:
    # 条件1为假且条件2为真时执行的代码块
    if 条件3:
        # 条件1为假,条件2为真且条件3为真时执行的代码块
    else:
        # 条件1为假,条件2为真且条件3为假时执行的代码块   
else:
    # 条件1和条件2都为假时执行的代码块
# 注意:Python 使用缩进来表示代码块,if、elif 和 else 后面的代码必须缩进一致。

作业四

循环结构

即:forforwhilewhile
示例 1:遍历列表
PYTHON
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)
输出
CPP
苹果
香蕉
橙子
示例 2:使用 range() 遍历数字
PYTHON
for i in range(5):  # 生成 0 到 4 的数字
    print(i)
输出
CPP
0
1
2
3
4
示例 3:遍历字符串
PYTHON
for char in "Python":
    print(char)
输出
CPP
P
y
t
h
o
n
示例 4:遍历字典
PYTHON
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")
输出
CPP
name: Alice
age: 25

for 循环中的控制语句

  1. break:提前退出循环。
    PYTHON
    for i in range(5):
        if i == 3:
            break
        print(i)
    
    输出
    CPP
    0
    1
    2
    
  2. continue:跳过当前循环的剩余部分,直接进入下一次循环。
    PYTHON
    for i in range(5):
        if i == 3:
            continue
        print(i)
    
    输出
    CPP
    0
    1
    2
    4
    
  3. [else]:当循环正常结束(未被 break 打断)时执行。
    PYTHON
    for i in range(5):
        print(i)
    else:
        print("循环正常结束")
    
    输出
    CPP
    0
    1
    2
    3
    4
    循环正常结束
    

示例 1:简单的 while 循环
PYTHON
i = 0
while i < 5:
    print(i)
    i += 1
输出
CPP
0
1
2
3
4
示例 2:无限循环
PYTHON
while True:
    print("这是一个无限循环")
    break  # 使用 break 退出循环
输出
CPP
这是一个无限循环
示例 3:用户输入
PYTHON
password = ""
while password != "1234":
    password = input("请输入密码:")
print("密码正确!")
运行示例
CPP
请输入密码:1111
请输入密码:1234
密码正确!

while 循环中的控制语句

  1. break:提前退出循环。
    PYTHON
    i = 0
    while i < 5:
        if i == 3:
            break
        print(i)
        i += 1
    
    输出
    CPP
    0
    1
    2
    
  2. continue:跳过当前循环的剩余部分,直接进入下一次循环。
    PYTHON
    i = 0
    while i < 5:
        i += 1
        if i == 3:
            continue
        print(i)
    
    输出
    CPP
    1
    2
    4
    5
    
  3. **[else]当循环正常结束(未被 break 打断)时执行。
    PYTHON
    i = 0
    while i < 5:
        print(i)
        i += 1
    else:
        print("循环正常结束")
    
    输出
    CPP
    0
    1
    2
    3
    4
    循环正常结束
    

到这里基础语法就结束了,还有函数很简单就是def **: 我这边再找几道题吧

求组合数

PYTHON
def fact(n):#阶乘函数
    s = 1
    for i in range(1,n+1):
        s = s*i
    return s

def Cmb(n,m):
    C=int(fact(n)/(fact(m)*fact(n-m)))#套用公式
    return C


兰州牛肉面

  • 请你写程序帮助一家牛肉面馆的老板统计一下,他们一天卖出各种品种的牛肉面有多少碗,营业额一共有多少。

输入格式:

输入第一行给出一个正整数 N(≤100),为牛肉面的种类数量。这里为了简单起见,我们把不同种类的牛肉面从 1 到 N 编号,以后就用编号代替牛肉面品种的名称。第二行给出 N 个价格,第 i 个价格对应第 i 种牛肉面一碗的单价。这里的价格是 [0.01, 200.00] 区间内的实数,以元为单位,精确到分。
随后是一天内客人买面的记录,每条记录占一行,格式为:品种编号 碗数 其中碗数保证是正整数。当对应的 品种编号 为 0 时,表示输入结束。这个记录不算在内。
  • 思路:从输入格式着手,先输入各种面的价格,我们可以将它存在列表里,接下来有若干输入,当品种编号为 0 结束,说明需要一个while(True),在里面进行if判断退出。接下来在循环中进行:对于输入的品种编号的面的售出数量统计,我们需要一个数组进行各个品种的统计。
PYTHON
N = int(input())
prices = []  # 初始化一个空列表
for x in input().split():
    prices.append(float(x))  # 将浮点数直接追加到列表中
sold_count = [0] * N#每种面的售出数目
total_sales = 0#总销售额
while True:
    record = input().split()
    if record[0] == '0':#如果是0就退出循环
        break
    index = int(record[0]) - 1#由于字符串下标从0开始,因此要-1
    num = int(record[1])#此次销售出的数量
    sold_count[index] += num#更新该种类销售数
    total_sales += prices[index] * num#更新总销售额
for count in sold_count:
    print(count)
print('{:.2f}'.format(total_sales))

期末复习

输入/出相关:

当输入数据为一行n个整数时,如何输入?

PYTHON
lst = list(map(int,input().split()))#如果输入一行2/3个整数怎么办?
n,m = map(int,input().split())#如果是小数怎么办?字符串怎么办?

当输入数据为n行n列的整数时,如何输入?

PYTHON
n=int(input())
ls=[]
for i in range(n):
    x = list(map(int,input().split()))#如果是字符串怎么办?
    ls.append(x)
print(ls)
关于输入,始终牢记: inputinput 函数输入的是字符串,且一次读入一行数据,如果输入的是整数/小数,必须用int/eval进行强制转化,或是用列表套用map进行读入;如果一行有多个数据,则必然要使用列表和split函数进行存储。
关于输出,需要牢记一点,print在输出内容后会自动换行。

结构相关:

选择结构:

ifif elifelif elseelse
PYTHON
if 条件1:
    # 条件1为真时执行的代码块
elif 条件2:
    # 条件1为假且条件2为真时执行的代码块
    if 条件3:
        # 条件1为假,条件2为真且条件3为真时执行的代码块
    else:
        # 条件1为假,条件2为真且条件3为假时执行的代码块   
else:
    # 条件1和条件2都为假时执行的代码块

循环结构:

即:forforwhilewhile for有两种用法:
  1. for a in b
  2. for a in range(起点,终点,步长),用来遍历数字,左闭右开
for中有两种特殊操作:
  1. break:提前退出循环。
  2. continue:进行下一层循环
  3. else:当循环顺利结束后进行其中的内容
示例 1:遍历列表
PYTHON
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)
输出
CPP
苹果
香蕉
橙子
示例 2:使用 range() 遍历数字
PYTHON
for i in range(5):  # 生成 0 到 4 的数字
    print(i)
输出
CPP
0
1
2
3
4
示例 3:遍历字符串
PYTHON
for char in "Python":#char是什么?
    print(char)
输出
CPP
P
y
t
h
o
n
示例 4:遍历字典
PYTHON
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")
输出
CPP
name: Alice
age: 25
  1. [else]:当循环正常结束(未被 break 打断)时执行。 PYTHON
    for i in range(5):
        print(i)
    else:
        print("循环正常结束")
    
    输出 CPP
    0
    1
    2
    3
    4
    循环正常结束
    
注意:Python 使用缩进来表示代码块的逻辑顺序,相同缩进的代码块的逻辑有限级一致,选择\循环结构都需在首句末加:下方一个缩进
以上内容例题:期末练习 编程题 1-5

数据结构相关

列表

可以叫他数组,即:数据组成的集合,用于存储若干相关数据,常用函数如下:
PYTHON
list.append('')#向列表添加数据
list3=list1+list2#两列表可直接通过+连接
list3=3*list1#也可通过*连接
len(list)#列表元素个数
max(list)#列表元素最大值
min(list)#列表元素最小值
list.insert(index, obj)#插入元素
list.sort(key=None, reverse=False)#其中reverse=true则为降序排序,否则为升序排序。
以上内容例题:6-13

对象和类

例题:14-15

选择题相关:

变量命名:
  1. 可以包含字母、数字和下划线,但不能以数字开头
  2. 不能使用Python中的保留字
  3. 严格区分大小写 不同进制表示:
  4. 0x 16进制
  5. 0b 2进制
  6. 0o 8进制
  7. 0 10进制

评论

0 条评论,欢迎与作者交流。

正在加载评论...