文章目录
- 学习教材
- 第七章 用户输入和while循环
- 1、函数 input()
- 2、使用input获取数值
- 3、取模运算符
- 4、while 循环
- 5、使用标志、break和continue
- 6、使用 while 循环处理列表
- 7、利用while循环删除多个相同元素
- 8、使用用户输入来填充字典
学习教材
第七章 用户输入和while循环
1、函数 input()
name=input('Please enter your name:')
print('hello,'+name)
输出结果:
Please enter your name:1900
hello,1900
当要显示的提示语较长的时候我们可以将他存到变量里,再传给input
prompt = "If you tell us who you are, we can personalize the messages you see."
prompt += "\nWhat is your first name? "
name=input(prompt)
print('hello,'+name)
输出结果:
If you tell us who you are, we can personalize the messages you see.
What is your first name? 1900
hello,1900
2、使用input获取数值
要知道,使用函数input()时,Python将用户输入解读为字符串。
即使你输入数字,也会被当做字符串存起来。不能将其当作数字使用。
为解决这个问题,可使用函数int(),它让Python将输入视为数值。函数int()将数字的字符串表示转换为数值表示
num=input('please enter a num:')
num=int(num)
print(num+4) #转换后 可以做加法运算
输出结果:
please enter a num:1
5
3、取模运算符
就正常取模运算,大部分语言都一样
print(5%3)
print(3%5)
print(4%2)
2
3
0
4、while 循环
常规语法,while后边跟的表达式如果是真,那就一直循环,如果假,那就终止循环
经典应用:猜数字游戏
num=55
ans=-1
while ans!=num:
if ans==-1:
ans=input('Please Guess!(0-100):')
ans=int(ans)
elif ans>num:
print('too big!')
ans=input('Guess:')
ans=int(ans)
elif ans<num:
print('too small!')
ans=input('Guess:')
ans=int(ans)
print('Congratulations, you guessed it!')
输出结果:
Please Guess!(0-100):5
too small!
Guess:6
too small!
Guess:70
too big!
Guess:50
too small!
Guess:54
too small!
Guess:55
Congratulations, you guessed it!
利用while循环向列表中添加元素,若添加到重复元素,就结束
注意这个程序里面,虽然说让你输入一个数字,但是其实存进去的是字符串,并不是数字
a=[]
ans='start'
while ans not in a:
a.append(ans)
ans=input('Please enter a num:')
print(a)
输出结果:
Please enter a num:1
Please enter a num:2
Please enter a num:3
Please enter a num:4
Please enter a num:5
Please enter a num:1
[‘start’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’]
5、使用标志、break和continue
这个就不多说了,用法简单,和C语言作用一样
标志变量,开关变量,break退出循环, continue返回开始继续循环
注意:在python里面标志可以设置为True或者False(相当于布尔变量),注意T和F大写!!!
6、使用 while 循环处理列表
创建一个新用户列表,利用while循环把老用户列表转移到新用户列表中
old_users = ['alice', 'brian', 'candace']
new_users = []
while old_users:
s=old_users.pop()
new_users.append(s)
print(old_users)
print(new_users)
7、利用while循环删除多个相同元素
宠物列表中包含多个值为’cat’的元素。要删除所有这些元素,可运行一个while循环,直到列表中不再包含值’cat’
pets = ['dog', 'cat', 'dog', 'goldfish', 'cat', 'rabbit', 'cat']
while 'cat' in pets:
pets.remove('cat')
print(pets)
8、使用用户输入来填充字典
创建一个字典,里面存储用户的名字和密码,由用户自己输入
users={}
flag=True
while flag:
name = input("your name:")
password = input("your password:")
users['name']=name
users['password']=password
ans=input('Is there anyone else after you? (yes/ no)')
if ans=='no':
flag=False
print(users)
输出结果:
your name:LL
your password:123
Is there anyone else after you? (yes/ no)yes
your name:TT
your password:123
Is there anyone else after you? (yes/ no)no
{‘name’: ‘TT’, ‘password’: ‘123’}