专栏文章
Wrx の神秘资料
学习·文化课参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mipaos43
- 此快照首次捕获于
- 2025/12/03 08:54 3 个月前
- 此快照最后确认于
- 2025/12/03 08:54 3 个月前
作业一
输入相关:
PYTHONx=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里就好:
print(f"{(x+y)*h/2}")
#也可以这么写,你们老师教的是上面那种就直接那么写好了
print((x+y)*h/2)
- 输出格式: 以“area = 值" 的形式输出梯形面积值。 诸如此类数值+固定文字的输出,有以下两种写法,选一种一直用就行
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 位。
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),这个直接记格式就行,以这题的代码为例
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对应的值
作业三
选择结构
即
PYTHONif 条件1:
# 条件1为真时执行的代码块
elif 条件2:
# 条件1为假且条件2为真时执行的代码块
if 条件3:
# 条件1为假,条件2为真且条件3为真时执行的代码块
else:
# 条件1为假,条件2为真且条件3为假时执行的代码块
else:
# 条件1和条件2都为假时执行的代码块
# 注意:Python 使用缩进来表示代码块,if、elif 和 else 后面的代码必须缩进一致。
作业四
循环结构
即: 和
示例 1:遍历列表
PYTHONfruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
输出:
CPP苹果
香蕉
橙子
示例 2:使用 range() 遍历数字
PYTHONfor i in range(5): # 生成 0 到 4 的数字
print(i)
输出:
CPP0
1
2
3
4
示例 3:遍历字符串
PYTHONfor char in "Python":
print(char)
输出:
CPPP
y
t
h
o
n
示例 4:遍历字典
PYTHONperson = {"name": "Alice", "age": 25}
for key, value in person.items():
print(f"{key}: {value}")
输出:
CPPname: Alice
age: 25
for 循环中的控制语句
-
PYTHON
break:提前退出循环。for i in range(5): if i == 3: break print(i)输出:CPP0 1 2 -
PYTHON
continue:跳过当前循环的剩余部分,直接进入下一次循环。for i in range(5): if i == 3: continue print(i)输出:CPP0 1 2 4 -
[PYTHON
else]:当循环正常结束(未被break打断)时执行。for i in range(5): print(i) else: print("循环正常结束")输出:CPP0 1 2 3 4 循环正常结束
示例 1:简单的 while 循环
PYTHONi = 0
while i < 5:
print(i)
i += 1
输出:
CPP0
1
2
3
4
示例 2:无限循环
PYTHONwhile True:
print("这是一个无限循环")
break # 使用 break 退出循环
输出:
CPP这是一个无限循环
示例 3:用户输入
PYTHONpassword = ""
while password != "1234":
password = input("请输入密码:")
print("密码正确!")
运行示例:
CPP请输入密码:1111
请输入密码:1234
密码正确!
while 循环中的控制语句
-
PYTHON
break:提前退出循环。i = 0 while i < 5: if i == 3: break print(i) i += 1输出:CPP0 1 2 -
PYTHON
continue:跳过当前循环的剩余部分,直接进入下一次循环。i = 0 while i < 5: i += 1 if i == 3: continue print(i)输出:CPP1 2 4 5 -
**[PYTHON
else]当循环正常结束(未被break打断)时执行。i = 0 while i < 5: print(i) i += 1 else: print("循环正常结束")输出:CPP0 1 2 3 4 循环正常结束
到这里基础语法就结束了,还有函数很简单就是def **:
我这边再找几道题吧
求组合数
PYTHONdef 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判断退出。接下来在循环中进行:对于输入的品种编号的面的售出数量统计,我们需要一个数组进行各个品种的统计。
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个整数时,如何输入?
PYTHONlst = list(map(int,input().split()))#如果输入一行2/3个整数怎么办?
n,m = map(int,input().split())#如果是小数怎么办?字符串怎么办?
当输入数据为n行n列的整数时,如何输入?
PYTHONn=int(input())
ls=[]
for i in range(n):
x = list(map(int,input().split()))#如果是字符串怎么办?
ls.append(x)
print(ls)
关于输入,始终牢记: 函数输入的是字符串,且一次读入一行数据,如果输入的是整数/小数,必须用int/eval进行强制转化,或是用列表套用map进行读入;如果一行有多个数据,则必然要使用列表和split函数进行存储。
关于输出,需要牢记一点,print在输出内容后会自动换行。
结构相关:
选择结构:
即
PYTHONif 条件1:
# 条件1为真时执行的代码块
elif 条件2:
# 条件1为假且条件2为真时执行的代码块
if 条件3:
# 条件1为假,条件2为真且条件3为真时执行的代码块
else:
# 条件1为假,条件2为真且条件3为假时执行的代码块
else:
# 条件1和条件2都为假时执行的代码块
循环结构:
即: 和
for有两种用法:
- for a in b
- for a in range(起点,终点,步长),用来遍历数字,左闭右开
for中有两种特殊操作:
break:提前退出循环。continue:进行下一层循环else:当循环顺利结束后进行其中的内容
示例 1:遍历列表
PYTHONfruits = ["苹果", "香蕉", "橙子"]
for fruit in fruits:
print(fruit)
输出:
CPP苹果
香蕉
橙子
示例 2:使用 range() 遍历数字
PYTHONfor i in range(5): # 生成 0 到 4 的数字
print(i)
输出:
CPP0
1
2
3
4
示例 3:遍历字符串
PYTHONfor char in "Python":#char是什么?
print(char)
输出:
CPPP
y
t
h
o
n
示例 4:遍历字典
PYTHONperson = {"name": "Alice", "age": 25}
for key, value in person.items():
print(f"{key}: {value}")
输出:
CPPname: Alice
age: 25
- [
else]:当循环正常结束(未被break打断)时执行。 PYTHON输出: CPPfor i in range(5): print(i) else: print("循环正常结束")0 1 2 3 4 循环正常结束
注意:Python 使用缩进来表示代码块的逻辑顺序,相同缩进的代码块的逻辑有限级一致,选择\循环结构都需在首句末加:下方一个缩进
以上内容例题:期末练习 编程题 1-5
数据结构相关
列表
可以叫他数组,即:数据组成的集合,用于存储若干相关数据,常用函数如下:
PYTHONlist.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
选择题相关:
变量命名:
- 可以包含字母、数字和下划线,但不能以数字开头
- 不能使用Python中的保留字
- 严格区分大小写 不同进制表示:
- 0x 16进制
- 0b 2进制
- 0o 8进制
- 0 10进制
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...