python学习之路(6)

函数input()

函数input()让程序暂停运行,等待用户输入一些文本,待用户输入之后将其存储在一个变量当中。
举个例子:

message = input"Please tell me your names and address: "print(message)

函数input()接受一个参数:要把用户要做的操作显示出来,然后用户输入。这里就是要求用户输入自己的名字和地址,然后按enter键继续运行。输入存储到变量message中。特别注意,input()函数把用户的输入解读成字符串了,就算你输入的是数字。

使用int()来获取数值输入

age = input("Please tell me your ages: ")
age
'21'

在这个例子中可以发现我们的age输入的是int型,最后变成了字符串。上面我也说了input()函数把所有的输入都变成了字符串。如果你想使用整数,那么使用int()函数来转换。

age = input("Please tell me your ages: ")
age = int(age)
if age >= 18:
	print("You are adult")

这样使用就不会报错,否则会报类型错误。

求模运算符
在处理数值信息的时候,求模运算符(%)是一个很有用的工具,它将两个数相除并返回余数:

4%3
1
5%3
1
6%3
0

可以用来判断奇偶,用2来当除数。
注意python2.7版本的输入函数是raw_input()

while 循环介绍

使用while循环

number = 1
while number <= 5:
	print (number)
	number += 1

1
2
3
4
5

让用户选择何时退出

pro = "\nTell me something,'quit' to end. "
message = ""
while message != 'quit':
	message = input(pro)
	if message != 'quit':
		print(message)

message 首次比较用的是初始值空串,然后进入循环,再给其赋值,判断为非 ‘quit’打印,然后进行下一次循环,其实逻辑虽然对的,但是用了两次一样的判断,所以应该可以改善。

使用标志改善代码

pro = "\nTell me something,'quit' to end. "
active = True
while active:
	message = input(pro)

	if message == 'quit':
		active = False
	else:
		print(message)

这样就简化了代码,只需要看标志位进行判断是否继续循环,代码逻辑相同的变少了。但是如果还想简化,继续看下面。

使用break退出循环

pro = "\nTell me something,'quit' to end. "

while True:
	message = input(pro)
	if message == 'quit':
		break
	else:
		print (message)

使用break随时退出循环,不用等到下一次判断,也不用初始化一个变量,直接无限循环,逻辑清楚。比较推荐这种写法。

在循环中使用continue

number = 0
while number < 10:
	number += 1
	if number % 2 == 0:
		continue
	
	print (number)

1
3
5
7
9

打印奇数,注意判断是小于10,不能等于,不然会出现多执行一次的情况。因为在循环里面是先加一再进行下面的操作的,如果是先操作再加一,就可以 <= 10 .

避免无限循环

写代码的时候要避免 无限循环,最好是自己加一个测试,防止出现这种问题,这也是高级程序员所具备的技能。

使用while循环来处理列表和字典

在列表之间移动元素

u_users = ['alice','bob','tom']
c_users = []

while u_users:
	t_user = u_users.pop()
	c_users.append(t_user)
for c_user in c_users:
	print(c_user.title())

Tom
Bob
Alice

删除包含特定值的所有列表元素

pets = ['dog','cat','cat','rabbit','goldfish','dog']
print(pets)

while 'cat' in pets:
	pets.remove('cat')
print(pets)

['dog','cat','cat','rabbit','goldfish','dog']
['dog','rabbit','godlfish','dog']

循环调用remove()方法删除cat,remove只删除一次。

使用用户输入来填充字典

responses = {}

polling_active = True

while polling_active:
	name = input("\nWhat is your name? ")
	response = input("\nPlease tell me your address: ")
	responses[name] = response
    
    repeat = input("Continu?(yes/no): ")
    if repeat == 'no':
    	polling_active = False
    
for name,response in responses:
	print(name + responese)

其实也可以直接使用break,这样简单。

总结

这一节我们学习了如何使用input()函数来让用户输入信息,还涉及到字符串和数字的转换,以及while循环的工作方式,以及多种控制循环的方式,有标识符,break,continue。以及如何使用while移动列表之间的元素,还有如何删除所有的特定值,最后结合循环来使用字典和input()函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值