@Python语言程序设计1
之前学习了莫烦的python基础教程,有些地方还是似懂非懂,所以就去慕课再学习一下。
《Python语言程序设计》 北京理工大学,主讲老师:嵩天、黄天羽、礼欣。
题目来源链接:https://python123.io/index.
Python成功了,所以早年的开发历史也受到关注,以下是Guido自述的启动阶段时间表:
“December, 1989 Implementation started
1990 Internal releases at CWI
February 20, 1991 0.9.0 (released to alt.sources)
February, 1991 0.9.1”
鉴于Internal release不算对外发布,普遍认为Python语言诞生于1991年。
Python语言的缩进只要统一即可,不一定是4个空格(尽管这是惯例)。
这里做错了,选了B,要注意理解和仔细看题。
IPO:Input Process Output
字符串有正向递增和反向递减两套序号体系。正向递增序号第一位数为0,从左至右依次递增(0 1 2 3 4…),反向递减序号最后一位数为-1,从右至左依次递减(…-4 -3 -2 -1)。
合法命名的首字符不能是数字。
get()不是Python内置函数,获得用户输入只有一种方式:input()。
type不是Python保留字,而是内置函数 type()。
Python中数据类型有字符串类型,数字类型,列表类型,其中数字类型包括整数和浮点数。实数是数学中的概念,在Python中对应浮点数。
if-elif-else是分支表达,in用来进行成员判断。
:.2f 为固定格式,哪一个都不能少。
描述:获得用户输入的一个整数,参考该整数值,打印输出"Hello World",要求:
如果输入值是0,直接输出"Hello World"
如果输入值大于0,以两个字符一行方式输出"Hello World"(空格也是字符)
如果输入值小于0,以垂直方式输出"Hello World"
作答:
s = "Hello World"
x = eval(input())
l = len(s)
if x == 0:
print(s)
elif x > 0:
for i in range(0,l,2):
print(s[i:(i+2)])
else:
for j in range(0,l):
print(s[j])
其他方法实现:
方法二:
x = int(input(""))
if x == 0:
print("Hello World")
elif x > 0:
print("He\nll\no \nWo\nrl\nd")
else :
print("H\ne\nl\nl\no\n \nW\no\nr\nl\nd")
方法三:
strs = "Hello World"
x = int(input())
if x == 0:
print(strs)
elif x > 0:
st =""
for x in range(len(strs)):
if (x+1) % 2 != 0:
st = st + strs[x]
if len(strs) == (x+1):
print(st)
else:
st = st+strs[x]
print(st)
st=""
else:
for i in strs:
print(i)
描述:获得用户输入的一个字符串,格式如下:
M OP N
其中,M和N是任何数字,OP代表一种操作,表示为如下四种:+, -, *, /(加减乘除)
根据OP,输出M OP N的运算结果,统一保存小数点后2位。
注意:M和OP、OP和N之间可以存在多个空格,不考虑输入错误情况。
作答:
s = input()
print("{:.2f}".format(eval(s)))
这一题一开始没有想到eval()的作用,想复杂了,最初写的程序如下,发现运算符号s[i]报错了,思考再三无果。
s = input()
l = len(s)
for i in range(0,l):
if s[i] in ['+' , '-' , '*' , '/']:
M = eval(s[0 , i])
N = eval(s[i , l])
out = M s[i] N # 这里报语法错误invalid syntax,应该是系统不认识s[i],所以会不会有某个方法把这个转换成运算符呢
print("{:.2f}".out)