北理工Python语言程序设计 | Week1 程序设计基本方法

Python语言程序设计Mooc

Week 1 程序设计基本方法

1. 命名与保留字

保留字

  • 变量:用来保存和表示数据的占位符号,变量采用标识符(名字)来表示。 命名:数字字母下划线。
  • “注意”:大小写敏感,数字不能放开头,不与保留字同。
  • python共有33个保留字,查询方法:
import keyword
print(keyword.kwlist)

2. 数据类型

  • 字符串:由0个或多个字符组成的"有序"字符序列。# 有序–>可以索引、切片
  • 整数:数学中的整数
  • 浮点数:数学中的实数,带有小数点部分
  • 列表:由0个或多个数据组成的"有序"序列

3. 语句与函数

  • 赋值语句
  • 分支语句
  • 函数

4. Python程序的输入输出

  • input(): 控制台输入
  • print():控制台输出,格式化
  • 注:在控制台显示的时候,一个添加引号形成字符串,一个将字符串自动去掉引号。
  • eval() :去掉参数最外侧引号并执行余下语句的函数
eval("1+2")
>>> 3

5. 温度转换代码分析

#2020/03/02
#input 输入获得用户信息
TempStr = input("请输入带有符号的温度值: ")
if TempStr[-1] in ['F','f']:
#eval():去掉参数最外侧引号并执行余下语句的函数,评估函数。
    c = (eval(TempStr[0:-1])-32)/1.8
#print()函数的格式化,{}表示槽,后续变量填充到槽中
#小数点取两位,同时C的值被嵌入字符串中
    print("转换后的温度是{:.2f}C".format(c))
elif TempStr[-1] in ["C",'c']:
#切片操作,下标0表示左起第一个元素, -1表示倒数最后一个元素
#[0:-1]表示第一个元素到倒数第二个元素的切片
    F = 1.8*eval(TempStr[0:-1]) + 32
    print("转换后的温度是{:.2f}F".format(F))
else:
    print("输入格式错误")

6. 问题

写一半还把Run搞没了,全变成了Run Console,查了一下发现要 run -> edit configurations -> run with python console 取消勾选即可

7. 课后习题

7.1 数字形式转换 I

#2020/03/03
#定义一个变量来存储字符串"零一二三四五六七八九",就像是一个字典一样,有了这样的数据源最终检索时才能一一检索出来。
#像是将这些字符串临时存储在变量中,所以在这里变量命名为:template
template = "零一二三四五六七八九"

s = input()
#for循环,对c在这里的作用不是很明白
for c in s:
#print()函数里的参数是什么含义呢?template[],是对template变量的索引
#eval(c)是去掉字符串类型c即" "外侧的双引号 。
    print(template[eval(c)], end="")

or

chiStr = ['零','一','二','三','四','五','六','七','八','九']
intStr = input()
for i in intStr:
    b=eval(i)
    print(chiStr[b],end='')

7.2 温度转换实例2

要求如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

(1)
输入输出的摄氏度采用大写字母C开头,温度可以是整数或小数,如:C12.34指摄氏度12.34度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

(2)
输入输出的华氏度采用大写字母F开头,温度可以是整数或小数,如:F87.65指华氏度87.65度;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

(3)
不考虑异常输入的问题,输出保留小数点后两位;‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬

(4) 使用input()获得测试用例输入时,不要增加提示字符串。

#2020/03/03
TempStr = input()
#python里面的索引的特征是包含起点,但是不包含结束的索引值
if TempStr[0] in ['F']:
    C = (eval(TempStr[1:])-32)/1.8
    print("C{:.2f}".format(C))
elif TempStr[0] in ['C']:
    F = eval(TempStr[1:])*1.8+32
    print("F{:.2f}".format(F))
else:
    print()
#unexpected EOF while parsing 意思是:这个错误是你语法有问题,EOF就是ENd of File,主要出现在语法不完整的时候

7.3 货币转换

我的代码:

money = input()
if money[0:3] in ['USD']:
    usd = eval(money[3:])*6.78
    print("RMB{:.2f}".format(usd))
    
elif money[0:3] in ['RMB']:
    rmb = eval(money[3:])/6.78
    print("USD{:.2f}".format(rmb))
    
else:
    print( )
# 【参考代码】
CurStr = input()
if CurStr[:3] == "RMB":
    print("USD{:.2f}".format(eval(CurStr[3:])/6.78))
elif CurStr[:3] in ['USD']:
    print("RMB{:.2f}".format(eval(CurStr[3:])*6.78))

这个代码是实例1的一个扩展,注意以下3点:

(1) eval()函数将字符串转换成数字,不能省略;

(2) == 表示 “等于”,in 表示成员包含,对于这个题目,由于只允许输入采用全大写方式,两种方法均可;

(3) :.2f输出小数点后两位。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值