用户交互

毫无疑问,用户交互是软件产品使用体验中至关重要的一部分,所谓与用户交互,个人看来,就是程序与用户交换信息的过程。

正如以下这个例子:

复制代码
复制代码
 1 print('------------100以内猜个数吧--------------\n')
 2 res = '90'
 3 guess = 0
 4 while guess == 'Y' or guess == 'y' or guess == 0:
 5     count = 0
 6     while count < 3:
 7         guess = input('请输入你猜的数字:')
 8         if guess == res:
 9             print('恭喜你猜对啦,真厉害!\n')
10             break
11         elif guess < res:
12             print('猜小了,不要气馁,再来一次~')
13             if count == 0:
14                 print('还有两次机会哦~\n')
15             elif count == 1:
16                 print('还剩有一次机会哦~\n')
17             else:
18                 print('三次机会用完啦!\n')
19         else:
20             print('猜大了,再接再厉')
21             if count == 0:
22                 print('还有两次机会哦~\n')
23             elif count == 1:
24                 print('还剩有一次机会哦~\n')
25             else:
26                 print('三次机会用完啦!\n')
27         count += 1
28     guess = input('是否还想再来一次呢(是请按Y/否请按N):')
猜数字源码
复制代码
复制代码
复制代码
------------50以内猜个数吧--------------

请输入你猜的数字:50
猜大了,再接再厉
还有两次机会哦~

请输入你猜的数字:15
猜小了,不要气馁,再来一次~
还剩有一次机会哦~

请输入你猜的数字:24
恭喜你猜对啦,真厉害!

是否还想再来一次呢(是请按Y):
复制代码

这个例子中,就体现了使用者与程序交互的过程,我觉得关于用户交互至少需要注意以下几点:

  1.能够引导用户应该做什么。(比如标题提示,以及结尾询问,并且实例应该输入什么)

  2.让用户能够及时收到反馈。(比如会提示用户猜大了还是小了,并提示剩余机会)

 

关于python中的输入和输出

输入

python3中的输入

  关键字:input()

  python3中的input获取的用户输入统一全部存成字符串类型

 

复制代码
>>> name = input('please input>>:')
please input>>:bitten
>>> type(name)
<class 'str'>
>>> name = input('please input>>:') please input>>:[1,2,3,4,5] >>> type(name) <class 'str'>
>>> name = input('please input>>:') please input>>:89 >>> type(name) <class 'str'>
复制代码

 

  python2中的raw_input和python3中的input效果相同,会将用户输入的数据统一存为字符串形式。

复制代码
Python 2.7.10 (default, Oct 6 2017, 22:29:07) 
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwinType "help", "copyright", "credits" or "license" for more information.
>>> name = raw_input('please input>>:')
please input>>:bitten
>>> type(name)
<type 'str'>

>>> name = raw_input('please input>>:')
please input>>:[1,2,3,4,5]
>>> name
'[1,2,3,4,5]'  #输出形式是字符串形式
>>> type(name)
<type 'str'>

>>> name = raw_input('please input>>:')
please input>>:'bitten'
>>> type(name)
<type 'str'>
复制代码

  python2中的input需要人为告诉input你输入的是什么类型

复制代码
 1 >>> name = input('please input>>:')
 2 please input>>:bitten
 3 
 4 Traceback (most recent call last):
 5   File "<stdin>", line 1, in <module>
 6   File "<string>", line 1, in <module>
 7 NameError: name 'bitten' is not defined   #直接输入英文名,会报错说未定义
 8 
 9 >>> name = input('please input>>:')
10 please input>>:'bitten'   #以字符串的形式输入就没有问题
11 >>> type(name)
12 <type 'str'>
13 
14 >>> name = input('please input>>:')
15 please input>>:[1,2,3,4,5]   #这里是以列表形式输入
16 >>> type(name)
17 <type 'list'>
复制代码

输出

格式化输出

复制代码
#方法1
name=input('please input your username:')
age=input('please input your age:')
print('my name is',name,'my age is',age)
#或者 print('my name is %s,my age is %s' %(name,age))
#结果是 my name is 输入的用户名,my age is 输入的年龄

#方法2
print('my name is %s my age is %s' %('bitten',18))
#或者 print('my name is %s my age is %d' %('bitten',18))

# 关于%s和%d print('my name is %s my age is %s' %('bitten',[1,2,3])) # %s可以接收任意类型的值 print('my name is %s my age is %d' %('bitten','xxx')) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: %d format: a number is required, not str # %d只能接收数字类型
复制代码

 补充:%04d:替换的数字要是4位,不足4位,用0补全,超过4位正常显示

posted @   Bitten  阅读(590)  评论(0编辑  收藏  举报
编辑推荐:
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
阅读排行:
· 后端思维之高并发处理方案
· 千万级大表的优化技巧
· 在 VS Code 中,一键安装 MCP Server!
· 10年+ .NET Coder 心语 ── 继承的思维:从思维模式到架构设计的深度解析
· 想让你多爱自己一些的开源计时器
点击右上角即可分享
微信分享提示