用户交互

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

正如以下这个例子:

 1 print('------------100以内猜个数吧--------------
')
 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('恭喜你猜对啦,真厉害!
')
10             break
11         elif guess < res:
12             print('猜小了,不要气馁,再来一次~')
13             if count == 0:
14                 print('还有两次机会哦~
')
15             elif count == 1:
16                 print('还剩有一次机会哦~
')
17             else:
18                 print('三次机会用完啦!
')
19         else:
20             print('猜大了,再接再厉')
21             if count == 0:
22                 print('还有两次机会哦~
')
23             elif count == 1:
24                 print('还剩有一次机会哦~
')
25             else:
26                 print('三次机会用完啦!
')
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位正常显示

原文地址:https://www.cnblogs.com/PowerTips/p/11116332.html