python基础语法二

七、四则运算

运算符 表示 例子
+ 2+1
- 1-2
* 1*2
/ 1/2
% 取模--返回除法的余数 5%2
// 取整除--返回商家的整数的部分 5//2
** 幂--返回x的y次幂 2**3

运算优先级:从左到右,括号优先,乘除>加减

print(2+1)
print(1-2)
print(1*2)
print(1/2)
print(5%2)
print(5//2)
print(2**3)

3
-1
2
0.5
1
2
8

八、数据转换

  • str() :将其他数据类型转换成字符串
  • int() :将其他数据类型转换成整数

只有完全符合整数规范的字符串数据,才能被int()强制转换。中文、火星文、标点符号都不可以

文字类和小数类的字符串无法转换成整数

  • float() :将其他数据类型转换成浮点数
print(int("6.8")) #运行后会出现报错(ValueError: invalid literal for int() with base 10: '6.8'),是因为"6.8"是字符串,浮点类型的字符串无法使用int()函数强制转换

ValueError Traceback (most recent call last)
<ipython-input-7-e75690326052> in <module>
----> 1 print(int("6.8")) #运行后会出现报错(ValueError: invalid literal for int() with base 10: '6.8'),是因为"6.8"是字符串,浮点类型的字符串无法使用int()函数强制转换
ValueError: invalid literal for int() with base 10: '6.8'

print(int(8.9)) #与平时四舍五入不同,int()函数会直接抹零,直接输出整数部分
print(float(7)) #floata()函数可以将整数和字符串转化为浮点数
print(float("6")) #字符串必须要数字才可以
print(str(1314.1314))

8
7.0
6.0
1314.1314

小案例:

打印(脸黑怪我喽7张蓝票一个SSR都没有)

a="脸黑怪我喽"
b=7.8
c="张"
d="蓝票一个SSR都没有"
print(a+str(int(b))+c+d) #b由于是浮点数,而print()里面要字符串,要先把浮点数转换成整数再转换成字符串

九、条件判断

i. 单向判断:if... (如果...就...)

# 赋值
grade=6
# 条件:如果分数大于等于6
if grade>=6:
    # 结果:显示‘成功通关’的结果
    print('成功通关')   

成功通关

注意:在条件判断代码中的冒号后、下一行内容前面,有空格

空格学名叫做:缩进

在python中,冒号和缩进是一种语法,可以帮助python区分代码块之间的层次,理解条件执行的逻辑及先后顺序
注意:缩进是四个空格或一个tab键

ii. 双向判断:if...else... (如果...不满足,就...)

# 先为体重赋值101斤
weight=101
# 如果体重超过100斤的条件下,就……(条件后需加冒号)
if weight>100:
  # 就打印结果:不吃了!(注意检查是否自动缩进)
    print('不吃了')
  # 如果体重没有超过100斤的条件,就……(else条件前无缩进,条件后需加冒号)
else:
 # 就打印:放心吃吧(注意检查是否自动缩进)
    print('放心吃吧')

不吃了

iii. 多向判断:if...elif...else...

在判断3个或者3个以上的条件时,要用到多向判断

  1. 如果if条件不满足,就按顺序看是否满足elif的条件,如果不满足elif条件,就执行else条件
  2. 中间可以使用多个elif
# 为宝石数量赋值
stonenumber=5 
# 条件:如果你拥有的宝石数量大于等于6个
if stonenumber>=6:
    # 结果:显示‘就拥有了毁灭宇宙的力量’的结果
    print('你拥有了毁灭宇宙的力量')
# 条件:如果想让宝石数量停留在5个以下,至少一个
elif 0<stonenumber<=5:
    # 结果:显示‘绯红女巫需要亲手毁掉幻视额头上的心灵宝石’的结果
    print('绯红女巫需要亲手毁掉幻视额头上的心灵宝石')
# 条件:当赋值不满足if和elif条件时,执行else下的命令,宝石数量为0个
else:
    # 结果:显示‘需要惊奇队长逆转未来’的结果
    print('需要惊奇队长逆转未来')

绯红女巫需要亲手毁掉幻视额头上的心灵宝石

iv. if嵌套

如果底下还有如果的情况下,需要用到嵌套条件(条件里还嵌套条件)

if嵌套:在基础条件满足的条件下,再在基础条件底下增加额外的条件判断

  • if嵌套的执行顺序:赋值、if、else、print

缩进相同的命令是处于同一个等级

扒洋葱式写法:

  1. 写基础条件代码
  2. 写基础条件1的额外条件
  3. 写基础条件2的额外条件

小案例:

考试成绩评价规则:

  1. 如果成绩大于等于60分,就是及格,在此前提下:
    (1)如果成绩大于等于80分,属于优秀范围;
    (2)否则(即大于等于60分而小于80分),属于一般范围。

  2. 如果成绩小于60分,就是不及格,在此前提下:
    (1)如果成绩小于30分,平时太不认真,属于学渣了;
    (2)如果成绩(小于60分而大于等于30分),那么,至少还能抢救一下。

historyscore=26
if historyscore>=60:
    print('你已经及格')
    if historyscore>=80:
        print('你很优秀')
    else:
        print('你只是一般般')
else:
    print('不及格')
    if historyscore<30:
        print('学渣')
    else:
        print('还能抢救一下')
print('程序结束')

不及格
学渣
程序结束

十、input()函数

①input()函数的使用

  • input()函数是输出函数,当你在函数的括号内写出问题时,input()函数会将此问题显示在屏幕上

②input()函数结果的赋值

name=input("请输入你的名字")
print(name+",中山大学欢迎你的到来")

请输入你的名字xxx
xxx,中山大学欢迎你的到来

  • input()函数的使用场景
  1. 函数结果赋值 :name=input()
  2. 搜集信息 :name=input(xxx)
  3. 输出结果 :print(name)

③input()函数的数据类型

name=input("请输入你的选择:")
▲:对于input()函数来说,不论我们输入的回答是什么,都会转换成字符串类型

④input()函数结果的强制转换

什么时候会用到???

  • 当我们想要的答案是数字(比如年龄、金钱、时间)
choice = int(input('请输入您的选择:')) #将输入值强制转换成整数,并赋值给变量name
if choice == 1:
    print("中山大学欢迎您的到来")
else:
    print("您可是被god选中的孩子,我们不接受这个选项噢~")

请输入您的选择:1
中山大学欢迎您的到来

如果不进行转换的话,在 if choice == "1"中就必须要是字符串才行
choice = input('请输入您的选择:') 
if choice == "1":
    print("中山大学欢迎您的到来")
else:
    print("您可是被god选中的孩子,我们不接受这个选项噢~") 

请输入您的选择:1
中山大学欢迎您的到来

小案例:

小精灵:您好,欢迎来到古灵阁,请问您需要帮助吗?需要or不需要?
你:需要
小精灵:请问您需要什么帮助呢?1 存取款;2 货币兑换;3 咨询
你:2
小精灵:金加隆和人民币的兑换率为1:51.3,即一金加隆=51.3人民币 小精灵:请问您需要兑换多少金加隆呢?
(你说了一个数字N)
小精灵:好的,我知道了,您需要兑换(你说的数字N)金加隆。
小精灵:那么,您需要付给我(你说的数字N*51.3)人民币。

注1:如果选择不需要帮助,小精灵会礼貌地说'好的,再见。'
注2: 如果选择帮助【1 存取款】,小精灵会推荐你去存取款窗口;如果选择帮助【3 咨询】,小精灵会推荐你去咨询窗口

示例代码:

choice=input("您好,欢迎来到古灵阁,请问你需要帮助吗?需要or不需要")
if choice == "需要":
    count=input("请问您需要什么帮助呢?1 存取款;2 货币兑换;3 咨询")
    if count == "1":
        print("去存取款窗口")
    elif count == "2":
        print("金加隆和人民币的兑换率为1:51.3,即一金加隆=51.3人民币")
        N=input("请问您需要兑换多少金加隆呢?")
        print("好的,我知道了,您需要兑换"+N+"金加隆。")
        print("那么,您需要付给我"+str(float(N)*51.3)+"人民币。")
    else:
        print("咨询窗口")
else:
    print("好的,再见。")
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容