Wrx の神秘资料

· · 学习·文化课

作业一

输入相关:

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(f"{(x+y)*h/2}")
#也可以这么写,你们老师教的是上面那种就直接那么写好了
print((x+y)*h/2)
x,y=input().split()
x=int(x)
y=int(y)
print(f"{x*y/10:.2f}")
#即:表达式后加“:.xf”,其中x为要保留的小数位

作业二

阿福的年龄

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对应的值

作业三

选择结构

if elif else

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

作业四

循环结构

即:forwhile

示例 1:遍历列表
fruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
    print(fruit)

输出

苹果
香蕉
橙子
示例 2:使用 range() 遍历数字
for i in range(5):  # 生成 0 到 4 的数字
    print(i)

输出

0
1
2
3
4
示例 3:遍历字符串
for char in "Python":
    print(char)

输出

P
y
t
h
o
n
示例 4:遍历字典
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")

输出

name: Alice
age: 25

for 循环中的控制语句

  1. break:提前退出循环。

    for i in range(5):
       if i == 3:
           break
       print(i)

    输出

    0
    1
    2
  2. continue:跳过当前循环的剩余部分,直接进入下一次循环。

    for i in range(5):
       if i == 3:
           continue
       print(i)

    输出

    0
    1
    2
    4
  3. [else]:当循环正常结束(未被 break 打断)时执行。

    for i in range(5):
       print(i)
    else:
       print("循环正常结束")

    输出

    0
    1
    2
    3
    4
    循环正常结束
示例 1:简单的 while 循环
i = 0
while i < 5:
    print(i)
    i += 1

输出

0
1
2
3
4
示例 2:无限循环
while True:
    print("这是一个无限循环")
    break  # 使用 break 退出循环

输出

这是一个无限循环
示例 3:用户输入
password = ""
while password != "1234":
    password = input("请输入密码:")
print("密码正确!")

运行示例

请输入密码:1111
请输入密码:1234
密码正确!

while 循环中的控制语句

  1. break:提前退出循环。

    i = 0
    while i < 5:
       if i == 3:
           break
       print(i)
       i += 1

    输出

    0
    1
    2
  2. continue:跳过当前循环的剩余部分,直接进入下一次循环。

    i = 0
    while i < 5:
       i += 1
       if i == 3:
           continue
       print(i)

    输出

    1
    2
    4
    5
  3. **[else]当循环正常结束(未被 break 打断)时执行。

    i = 0
    while i < 5:
       print(i)
       i += 1
    else:
       print("循环正常结束")

    输出

    0
    1
    2
    3
    4
    循环正常结束

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

求组合数

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

兰州牛肉面

随后是一天内客人买面的记录,每条记录占一行,格式为:品种编号 碗数 其中碗数保证是正整数。当对应的 品种编号 为 0 时,表示输入结束。这个记录不算在内。

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个整数时,如何输入?

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

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

n=int(input())
ls=[]
for i in range(n):
    x = list(map(int,input().split()))#如果是字符串怎么办?
    ls.append(x)
print(ls)

关于输入,始终牢记: input 函数输入的是字符串,且一次读入一行数据,如果输入的是整数/小数,必须用int/eval进行强制转化,或是用列表套用map进行读入;如果一行有多个数据,则必然要使用列表和split函数进行存储。

关于输出,需要牢记一点,print在输出内容后会自动换行。

结构相关:

选择结构:

if elif else

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

循环结构:

即:forwhile for有两种用法:

  1. for a in b
  2. for a in range(起点,终点,步长),用来遍历数字,左闭右开

for中有两种特殊操作:

  1. break:提前退出循环。
  2. continue:进行下一层循环
  3. else:当循环顺利结束后进行其中的内容
    示例 1:遍历列表
    fruits = ["苹果", "香蕉", "橙子"]
    for fruit in fruits:
    print(fruit)

    输出

    苹果
    香蕉
    橙子
示例 2:使用 range() 遍历数字
for i in range(5):  # 生成 0 到 4 的数字
    print(i)

输出

0
1
2
3
4
示例 3:遍历字符串
for char in "Python":#char是什么?
    print(char)

输出

P
y
t
h
o
n
示例 4:遍历字典
person = {"name": "Alice", "age": 25}
for key, value in person.items():
    print(f"{key}: {value}")

输出

name: Alice
age: 25
  1. [else]:当循环正常结束(未被 break 打断)时执行。
    for i in range(5):
       print(i)
    else:
       print("循环正常结束")

    输出

    0
    1
    2
    3
    4
    循环正常结束

    注意:Python 使用缩进来表示代码块的逻辑顺序,相同缩进的代码块的逻辑有限级一致,选择\循环结构都需在首句末加:下方一个缩进

以上内容例题:期末练习 编程题 1-5

数据结构相关

列表

可以叫他数组,即:数据组成的集合,用于存储若干相关数据,常用函数如下:

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进制