Python 注释,简单的用户输入输出,类型转换问题及使用if 语句实现猜年龄
程序员文章站
2022-03-13 12:05:54
...
Python 的注释有两种
① 单行注释: # 被注释的内容
② 多行注释:''' 被注释的内容''' (三个单引号或者双引号)
用户输入程序
代码如下:
#!/usr/bin/env python
#_*_coding:utf-8_*_
#我的脚本格式为ANSI模式,使用以上修改为utf-8
death_age = 166
name=input("your name:") #将输入的值赋值给变量name
age=input("your age:")
print("Hello " + name)
#在计算live age的时候,我们直接使用death_age-age
print("You can still live for ", death_age-age," years ..." )
执行结果:
E:\Python\do-python\03>py user_login.py
your name:jackie
your age:18
Hello jackie
Traceback (most recent call last):
File "user_login.py", line 11, in <module>
TypeError: unsupported operand type(s) for -: 'int' and 'str'
错误信息可以看出,是类型出错,在做减法的时候,定位报错代码为: death_age-age
我们可以在脚本中打印出变量的数据类型查看一下:
print(type(death_age)) #结果为 int
print (type(age)) #结果为 str
这是因为脚本中定义的变量 death_age 的值为 int 类型;
而input 接收的数据,都会以字符串做处理
这就是报错的原因。
修改脚本脚本如下
#!/usr/bin/env python
#_*_coding:utf-8_*_
#我的脚本格式为ANSI模式,使用以上修改为utf-8
death_age = 166
#print (type(death_age)) #打印类型
name=input("your name:") #将输入的值赋值给变量name
age=input("your age:")
#print (type(age)) #打印类型
print("Hello" + name)
#在计算live age的时候,我们直接使用death_age-age
#类型转换,int(age) 结果就是 int 类型
print("You can still live for", death_age-int(age),"years ...")
#这里打印的内容是用逗号隔开的,各个部分是独立的,结果展示也是独立的,所有没有类型的区别
#如果想要将这些拼接在一起,就要使用 加号 “+”,并且注意类型问题
结果如下:
E:\Python\do-python\03>py user_login.py
your name:jackie
your age:16
Hellojackie
You can still live for 150 years ...
If 语句实现猜年龄
代码如下(代码后续会持续升级):
#!/usr/bin/env python
#设定jackie 的年龄
age_of_jackie = 36
guess_age = int( input("guess age:") )
if guess_age > age_of_jackie:
print("You should try smaller...")
elif guess_age < age_of_jackie: #elif 可以有多个判断
print("You should try bigger...")
else:
print("Yes, you got it.")
注意:
Python 中判断两个数值是否相等,用双等号 “==”
if 每一部分判断结束后用英文的冒号结尾 “:”
缩进级别必须保持一致
If 中的判断是从上至下顺序判断,一旦找到符合的条件就会跳出,不再继续往下执行
结果如下:
E:\Python\do-python\03>py guess_age.py
guess age:22
You should try bigger...
结束
^ - ^ 填坑 ...
上一篇: 打印100以内所有质数
下一篇: go语言求1到100之内的质数