初涉Python组

准备阶段:

蓝桥杯今年第一年开设Python组,所以我们备战没有太多的东西可以参考。经过几天的摸索,本人终于有了点头绪,在此记录一下:

编译环境:
问题:
之前我都是在pycharm上编译的,但是根据最近的消息官方只说了编译环境是IDIE,没有提能不能用pycharm。刚开始用IDIE很不习惯,它基本上都是一行一行的编译,无法写成成块代码。

解决方案:
1.按Ctrl + n 新建一个文件夹,这里可以自由换行
2.写完后按F5编译(会提示保存)

输入陷阱:
我们以最简单的A+B problem为例
输入:
1 1
20 10
输出:
2
30

正确写法:

while True:
    try:
        a = input().split()
        b = int(a[0]) + int (a[1])
        print(b)
    except:
        break

运行结果:

1 1
2
20 10
30

错误写法:

while True:
    try:
        a = int(input())
        b = int(input())
        print(a+b)
    except:
        break

解析:在示例中参数a,b的输入是由空格隔开的,而这样只能由换行隔开,不符合格式规范

运行结果:

1
1
2
10
20
30

在这个例子中,我们也学到了循环输入的方法,可谓一举多得。

推荐几个个不错的oj :
蓝桥杯ACM训练系统
杭电oj

最近也找到数据结构与算法Python实现的PDF,现在可谓教材,编译器,oj都有了。终于可以好好练习了。

随笔:

  1. a = a+a 与 a+=a 的区别:
a = [100]
def test (num):
	num = num + num
	print (num)
test (a)
print(a)

运行结果:

[100, 100]
[100]

对比:

a = [100]
def test (num):
	num += num
	print (num)
test (a)
print(a)

运行结果:

[100, 100]
[100, 100]

解析:
python中使用a = a + a创建了一个新的变量a,覆盖了之前的变量a。而使用a += a 则是直接对原变量 a 进行操作。

发布了54 篇原创文章 · 获赞 27 · 访问量 2683

猜你喜欢

转载自blog.csdn.net/Deam_swan_goose/article/details/103434624