诚意
诚意如你,当一诚的态度对待

导航

 

1、判断下列列逻辑语句句的True,False.

1)1 > 1 or 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

  答案:True

  知识点:优先级:not  > and  >  or

         同一优先级从左往右运算

        规则:

        

 

    思路:

       4 > 5 and 2 > 1 and 9 > 8    的结果False

      1 > 1 or 3 < 4 or False  or 7 < 6  的结果True

 

2)not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

  False

2、求出下列逻辑语句的值。

1),8 or 3 and 4 or 2 and 0 or 9 and 7

  答案:8

  知识点:

       x or y , x为真,值就是x,x为假,值是y   (False当零看)

      x and y, x为真,值是y,x为假,值是x。

  思路:

     3 and 4      结果4

     2 and 0     结果0

     9 and 7     结果  7

             8 or 4 or 0 or 7 结果是8

 

2),0 or 2 and 3 and 4 or 6 and 0 or 3

  答案:4

3、下列列结果是什什么?

1)、6 or 2 > 1

  答案:6

2)、3 or 2 > 1

  答案:3

3)、0 or 5 < 4

  答案:False

4)、5 < 4 or 3

  答案:3

5)、2 > 1 or 6

  答案:True

6)、3 and 2 > 1

  答案:True

7)、0 and 3 > 1

  答案:0

8)、2 > 1 and 3

  答案:3

9)、3 > 1 and 0

  答案:0

10)、3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2

  答案:2

 

4、while循环语句基本结构?

  while  条件:

    循环体

5、利用while语句写出猜⼤小的游戏: 设定一个理想数字比如:66,让用户输入数字,如果比66大,则显示猜测 的结果大了;如果比66小,则显示猜测的结果小了;只有等于66,显示猜测结果 正确,然后退出循环。

  方法一 : 

    思路:1:首先确定循环是在输入的数不等于66的情况下循环,那么就确定了循环格式while …else…这种格式并且循环条件是输入的数不等于66

 

       2:那么else 这块的好办,代码块显示结果正确就行了。那么就剩下循环体这部分的内容,从题的要求中要求显示猜测的结果,因此可以考虑先显示判断的结果,这      里用if语句就可以,然后在提示用户重新输入,之后再循环判断一直到不等于66才可以跳出循环体

    代码:  

      
count = int(input("请您随机输入一个数:"))
while count != 66:
    if count > 66 :
        print("猜测 的结果大了")
    else :
        print("猜测的结果小了")
    count = int(input("请您再次随机输入一个数:"))
else :
    print("猜测结果 正确")
View Code

 

  方法二:

    思路:要求的核心是判断循环,我们可以把判断作为循环体,用while就可以了,当得到66时就break,那么循环条件是啥呢?就一直运行好了,True.

    代码:

      
 1 content = int (input("请输入一个数字判断大小:"))
 2 while True :
 3      if content > 66 :
 4          print("猜大了")
 5      elif content < 66 :
 6          print("猜小了")
 7      else :
 8          print("正确")
 9          break
10      content = int(input("请再输入一个数字:"))
View Code

 

6、在5题的基础上进行升级: 给用户三次猜测机会,如果三次之内猜测对,则显示猜测正确,退出循 环,如果三次之内没有猜测正确,则⾃自动退出循环,并显示‘太笨了你....’。

    思路:增加一个控制次数的变量,然后在循环体判断次数,当次数到限制时break  

  方法一:

    代码:

      
 1 count = int(input("请您随机输入一个数:"))
 2 num = 0
 3 while count != 66 and num < 4:
 4     if count > 66 :         
 5         print("猜测 的结果大了")
 6     else :
 7         print("猜测的结果小了")
 8     num = num + 1
 9     print("num:"+ str(num))
10     if num != 3 :
11         count = int(input("请您再次随机输入一个数:"))
12     else:
13         print("太笨了你...")
14         break
15 else :
16     print("猜测结果 正确")
View Code

 

  方法二:

      
 1 while True and num < 4 :
 2      if content > 66 :
 3          print("猜大了")
 4      elif content < 66 :
 5          print("猜小了")
 6      else :
 7          print("正确")
 8          break
 9      num = num + 1
10      if  num < 4 :
11         content = int(input("请再输入一个数字:"))
12      else :
13          print("您没机会了")
View Code

7.使用while循环输入 1 2 3 4 5 6  8 9 10

  思路:遇到7continue

  代码:

     
1 num1 = 0
2 while num1 < 10:
3     num1 = num1 + 1
4     if num1 != 7 :
5         print(num1)
6     else:
7         continue
View Code

8.求1-100的所有数的和

  代码:   

    
1 num2 = 0
2 sum = 0
3 while num2 < 100 :
4     num2 = num2 + 1
5     print(num2)
6     sum = sum + num2
7     print("sum=%s" % (sum))
View Code

9.输出 1-100 内的所有奇数

  代码:

 

    
1 num3 = 1
2 while  num3 < 101:
3     if num3 % 2 != 0 :
4         print("我是奇数:%s" % (num3))
5     num3 = num3 + 1
View Code

 

10.输出 1-100 内的所有偶数

  代码:   

     
1 num4 = 0
2 while  num4 < 101:
3     if num4 % 2 == 0 :
4         print("我是偶数:%s" % (num4))
5     num4 = num4 + 1
View Code

 

11.求1-2+3-4+5 ... 99的所有数的和. 

  代码:

     
1 sum1 = 0
2 num5 = 0
3 while num5 < 100 :
4     sum1 = sum1 + ((-1) ** (num5 + 1))*num5
5     num5 = num5 + 1
6     print(sum1)
View Code

12.用户登陆(三次输错机会)且每次输错误时显示剩余错误次数(提示:使用字符串串格式化)

  思路:在输入错误的时候进入循环体,首先判断是否有剩余次数,这里用if判断,

 

  代码:

 

    
 1 num6 = 2
 2 logon_user = input("请输入用户名:")
 3 logon_passwd = input("请输入密码: ")
 4 while logon_user != 'lilz' and logon_passwd != '123456'  :
 5     if num6 !=0:
 6         print("您输入的有误")
 7         print('''user = %s
 8 passwd = %s
 9 剩余次数:%s''' % (logon_user, logon_passwd, num6))
10 
11         logon_user = input("请再次输入用户名:")
12         logon_passwd = input("请再次输入密码: ")
13         num6 = num6 - 1
14     else :
15         break
16 else :
17     print("您输入的正确,欢迎您")
View Code

 

 

 

13.  用户输入一个数.  判断这个数是否是一个质数(升级题).  

  思路:首先要清楚什么才是质数?质数是能够被1与自身整除的数。

    其次,要注意特殊的数如1,2,9等

    那么怎么确定判断体呢?就是让这个输入的数能不能整除1到这个数之间的所有数,这样外层是循环,里层是判断

  代码:

    
 1 cusu = 2   #除数
 2 num7 = int (input ("请输入一个数,我们会给你判断是否是质数:"))
 3 if num7 <= 1 :
 4     print("不是质数")
 5 else :
 6     while cusu < num7 :
 7         if num7 % cusu == 0 :
 8             print ("这个数不是质数")
 9             break
10         else :
11             cusu = cusu + 1
12     else  :
13         print("这个数是质数")
View Code

 

14.  输⼊一个广告标语. 判断这个广告是否合法. 根据最新的⼴告法来判断. 告法内容过多. 我们就判断是否包含'最', '第一', '稀缺', '国家级'等字样. 如果包 . 提示, ⼴告不合法

             例如, 1. ⽼男孩python世界第⼀.  ==> 不合法                    

      2. 今年过年不收礼啊. 收礼只收脑⽩⾦.   ==> 合法

   代码:

    
1 content = input("请输入一个广告标语:")
2 
3 if  '' in  content or'第⼀' in content or '稀缺' in content or  '国家级'  in content :
4     print("⼴告不合法")
5 else :
6     print("⼴告合法")
View Code

 

 

 

15. 输入一个数. 判断这个数是几位数(⽤算法实现)(升级题) 

  代码:  

1 num8 = int(input("请输入一个数:"))
2 count8 = 0
3 while num8 != 0 :
4     num8 = num8 // 10
5     print("num8:%s" % (num8))
6     count8 = count8 + 1
7 print("这是%s位数" % (count8))
View Code

 

 

 

 

 

 

 

 

 

posted on 2018-07-28 09:41  诚意  阅读(947)  评论(0)    收藏  举报