八、input的使用
name = input()
print(name)
name = input('请输入名字:')
# 输入系统此刻相当于阻塞式,键入信息以后敲回车阻塞状态结束
print(name)
input()---->认为这是一个标准的输入流(其实指的就是你的键盘,等待着你的键盘键入信息),只要看到input(),光标就会一直闪动等待着键盘键入。
input(prompt=none)---->prompt=none指的是没有任何提示信息 是阻塞式的,标准流认为键入信息之后回车阻塞状态才会结束,进入下一步,name这个“容器”接受流里面的信息。接下来print(name)打印name中的内容。
practice 1:
'''
练习:
游戏:捕鱼达人
输入参与游戏者用户名:
输入密码:
充值:500
'''
print('''
*************************
捕鱼达人
*************************
''')
username = input('输入参与游戏者用户名:')
password = input('输入密码:')
print('%s请充值才能加入游戏' % username)
coins = input('请充值:')
print('%s充值成功!当前游戏币是:%d'%(username,coins))
运行结果:
*************************
捕鱼达人
*************************
输入参与游戏者用户名:keai
输入密码:123
keai请充值才能加入游戏
请充值:100
Traceback (most recent call last):
File "D:/DEMEO/inputDemo_210331.py", line 27, in <module>
print('%s充值成功!当前游戏币是:%d'%(username,coins))
TypeError: %d format: a number is required, not str
Process finished with exit code 1
出现了错误,意为:占位符%d那里需要的一个数字而不是字符。在此处可以推断input函数输出来的默认都是字符串。
不妨做个测试,测试input输出的是什么类型
coins = input('请充值:')
print(type(coins))
运行结果:
请充值:200
<class 'str'>
意为200其实是’200’,是字符串类型。
修改程序只需要将字符串类型转换为整型。
coins = input('请充值:')
coins = int(coins) # 强制类型转换 将字符串类型转换为整型
运行结果为
输入参与游戏者用户名:keai
输入密码:123
keai请充值才能加入游戏
请充值:200
keai充值成功!当前游戏币是:200
practice 2:
'''
游戏:英雄联盟
角色:xxx
拥有的装备:xx
付款金额:xxx
xxxx拥有xxx装备,花了xxx钱
考察的知识点:字符串与input的结合 格式化输出print()
'''
print('''
*******************
英雄联盟
*******************
''')
role = input('输入角色:')
equipment = input('输入拥有的装备:')
upgrade_equipment = input('输入想购买装备:')
pay = input('输入付款金额:')
# 变量的赋值替换
equipment = upgrade_equipment
print('{}拥有{}装备,购买此装备的消费金额为%d' .format(role, equipment, pay))
运行结果:
*******************
英雄联盟
*******************
输入角色:亚索
输入拥有的装备:短刀
输入想购买装备:饮血剑
输入付款金额:900
亚索拥有饮血剑装备,购买此装备的消费金额为900