Python if语句不输出

下面是我的代码,主要在于points函数,它不执行if里面的内容,但也没有报错

# -*- coding:utf-8 -*-
import random
import time
import sys

playerPoints = 100
playerWon = False
playerChoice = None
playerGuess = None

def easy():
    ## 简单难度的踩雷,在 1 ~ 100 之间随机选择雷号
    global playerWon
    rbnList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,
               37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,
               70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]
    rbn = random.sample(rbnList,3)
    if playerGuess == rbn[0] or playerGuess == rbn[1] or playerGuess == rbn[2]:
        sys.stdout.write("你踩到地雷了!")
        playerWon = False
        points()
    else:
        sys.stdout.write("你躲开了地雷!")
        playerWon = True
        points()

def normal():
    ## 正常难度的踩雷,在 1 ~ 50 之间随机选择雷号
    global playerWon
    rbnList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,
               37,38,39,40,41,42,43,44,45,46,47,48,49,50]
    rbn = random.sample(rbnList,3)
    if playerGuess == rbn[0] or playerGuess == rbn[1] or playerGuess == rbn[2]:
        sys.stdout.write("你踩到地雷了!")
        playerWon = False
    else:
        sys.stdout.write("你躲开了地雷!")
        playerWon = True
    points()

def hard():
    ## 困难难度的踩雷,在 1 ~ 20 之间随机选择雷号
    global playerWon
    rbnList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
    rbn = random.sample(rbnList, 3)
    if playerGuess == rbn[0] or playerGuess == rbn[1] or playerGuess == rbn[2]:
        sys.stdout.write("你踩到地雷了!")
        playerWon = False
    else:
        sys.stdout.write("你躲开了地雷!")
        playerWon = True
    points()

def points():
    ## 玩家分数,踩雷游戏分数系统
    global playerPoints
    if playerWon == True:
        if playerChoice == "简单难度":
            playerPoints += 5
            sys.stdout.write("当前分数加5, 当前分数: %s" % playerPoints)
        elif playerChoice == "正常难度":
            playerPoints += 10
            sys.stdout.write("当前分数加10, 当前分数: %s" % playerPoints)
        elif playerChoice == "困难难度":
            playerPoints += 20
            sys.stdout.write("当前分数加20, 当前分数: %s" % playerPoints)
    elif playerWon == False:
        if playerChoice == "简单难度":
            playerPoints -= 5
            sys.stdout.write("当前分数减5, 当前分数: %s" % playerPoints)
            if playerPoints < 0:
                sys.stdout.write("分数过少,不能进行减分,请等待分数重置")
                playerPoints = 0
                resetPoints()
        elif playerChoice == "正常难度":
            playerPoints -= 7
            sys.stdout.write("当前分数减7, 当前分数: %s" % playerPoints)
            if playerPoints < 0:
                sys.stdout.write("分数过少,不能进行减分,请等待分数重置")
                playerPoints = 0
                resetPoints()
        elif playerChoice == "困难难度":
            playerPoints -= 10
            sys.stdout.write("当前分数减10, 当前分数: %s" % playerPoints)
            if playerPoints < 0:
                sys.stdout.write("分数过少,不能进行减分,请等待分数重置")
                playerPoints = 0
                resetPoints()

def resetPoints():
    resetPointsTimes = 300
    for i in range(resetPointsTimes):
        sys.stdout.write("分数将在 {} 秒后重置为100".format(resetPointsTimes - i))
        sys.stdout.flush()
        time.sleep(1)
    sys.stdout.write("分数成功重置为100")
    GameBody()

def rules():
    sys.stdout.write("==================== *游戏规则* ====================")
    sys.stdout.write("本游戏分3个模式:简单模式,正常模式和困难模式")
    sys.stdout.write("简单模式: 赢了得5分, 输了扣5分")
    sys.stdout.write("正常模式: 赢了得10分, 输了扣7分")
    sys.stdout.write("困难模式: 赢了得20分, 输了扣10分")
    sys.stdout.write("祝您游戏愉快!")

def GameBody():
    global playerChoice
    global playerGuess

    playerChoice = input("简单模式请输入'简单模式',正常模式请输入'正常模式'," +
                         "困难模式请输入'困难模式',查看游戏规则请输入'规则':")
    if playerChoice == "简单模式":
        playerGuess = int(input("请输入一个 1 ~ 100 的数字"))
        easy()
    elif playerChoice == "正常模式":
        playerGuess = int(input("请输入一个 1 ~ 50 的数字"))
        normal()
    elif playerChoice == "困难模式":
        playerGuess = int(input("请输入一个 1 ~ 20 的数字"))
        hard()
    elif playerChoice == "规则":
        rules()
    else:
        sys.stdout.write("输入错误, 请重新输入")
        GameBody()

GameBody()

3个回答

你的输入是简单模式、正常模式等等么?你的控制台支持中文么?输入中有别的自负,比如空格么?
建议你换成123 abc等测试下,而不是中文。
再不行的话,单步调试下。

weixin_42246860
samyyc 谢谢,是我把简单难度写成了简单模式,已采纳
大约一年之前 回复

建议在输入选择条件时先用数字或者字母进行判断,看是否逻辑正确。你直接来中文,但中文输入可能存在编码不统一问题的(比如你内容要求是utf-8,环境传来的是gbk)

键盘输入的中文可能不是utf-8编码的,支持中文的也可能是GBK,GB12

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Python if语句不输出
下面是我的代码,主要在于points函数,它不执行if里面的内容,但也没有报错nnn```n# -*- coding:utf-8 -*-nimport randomnimport timenimport sysnnplayerPoints = 100nplayerWon = FalsenplayerChoice = NonenplayerGuess = Nonenndef easy():n ## 简单难度的踩雷,在 1 ~ 100 之间随机选择雷号n global playerWonn rbnList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,n 37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,n 70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100]n rbn = random.sample(rbnList,3)n if playerGuess == rbn[0] or playerGuess == rbn[1] or playerGuess == rbn[2]:n sys.stdout.write("你踩到地雷了!")n playerWon = Falsen points()n else:n sys.stdout.write("你躲开了地雷!")n playerWon = Truen points()nndef normal():n ## 正常难度的踩雷,在 1 ~ 50 之间随机选择雷号n global playerWonn rbnList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,n 37,38,39,40,41,42,43,44,45,46,47,48,49,50]n rbn = random.sample(rbnList,3)n if playerGuess == rbn[0] or playerGuess == rbn[1] or playerGuess == rbn[2]:n sys.stdout.write("你踩到地雷了!")n playerWon = Falsen else:n sys.stdout.write("你躲开了地雷!")n playerWon = Truen points()nndef hard():n ## 困难难度的踩雷,在 1 ~ 20 之间随机选择雷号n global playerWonn rbnList = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]n rbn = random.sample(rbnList, 3)n if playerGuess == rbn[0] or playerGuess == rbn[1] or playerGuess == rbn[2]:n sys.stdout.write("你踩到地雷了!")n playerWon = Falsen else:n sys.stdout.write("你躲开了地雷!")n playerWon = Truen points()nndef points():n ## 玩家分数,踩雷游戏分数系统n global playerPointsn if playerWon == True:n if playerChoice == "简单难度":n playerPoints += 5n sys.stdout.write("当前分数加5, 当前分数: %s" % playerPoints)n elif playerChoice == "正常难度":n playerPoints += 10n sys.stdout.write("当前分数加10, 当前分数: %s" % playerPoints)n elif playerChoice == "困难难度":n playerPoints += 20n sys.stdout.write("当前分数加20, 当前分数: %s" % playerPoints)n elif playerWon == False:n if playerChoice == "简单难度":n playerPoints -= 5n sys.stdout.write("当前分数减5, 当前分数: %s" % playerPoints)n if playerPoints < 0:n sys.stdout.write("分数过少,不能进行减分,请等待分数重置")n playerPoints = 0n resetPoints()n elif playerChoice == "正常难度":n playerPoints -= 7n sys.stdout.write("当前分数减7, 当前分数: %s" % playerPoints)n if playerPoints < 0:n sys.stdout.write("分数过少,不能进行减分,请等待分数重置")n playerPoints = 0n resetPoints()n elif playerChoice == "困难难度":n playerPoints -= 10n sys.stdout.write("当前分数减10, 当前分数: %s" % playerPoints)n if playerPoints < 0:n sys.stdout.write("分数过少,不能进行减分,请等待分数重置")n playerPoints = 0n resetPoints()nndef resetPoints():n resetPointsTimes = 300n for i in range(resetPointsTimes):n sys.stdout.write("分数将在 秒后重置为100".format(resetPointsTimes - i))n sys.stdout.flush()n time.sleep(1)n sys.stdout.write("分数成功重置为100")n GameBody()nndef rules():n sys.stdout.write("==================== *游戏规则* ====================")n sys.stdout.write("本游戏分3个模式:简单模式,正常模式和困难模式")n sys.stdout.write("简单模式: 赢了得5分, 输了扣5分")n sys.stdout.write("正常模式: 赢了得10分, 输了扣7分")n sys.stdout.write("困难模式: 赢了得20分, 输了扣10分")n sys.stdout.write("祝您游戏愉快!")nndef GameBody():n global playerChoicen global playerGuessnn playerChoice = input("简单模式请输入'简单模式',正常模式请输入'正常模式'," +n "困难模式请输入'困难模式',查看游戏规则请输入'规则':")n if playerChoice == "简单模式":n playerGuess = int(input("请输入一个 1 ~ 100 的数字"))n easy()n elif playerChoice == "正常模式":n playerGuess = int(input("请输入一个 1 ~ 50 的数字"))n normal()n elif playerChoice == "困难模式":n playerGuess = int(input("请输入一个 1 ~ 20 的数字"))n hard()n elif playerChoice == "规则":n rules()n else:n sys.stdout.write("输入错误, 请重新输入")n GameBody()nnGameBody()n n```nnn
Python—if语句
一.格式 if 要判断的条件1: 条件1成立的时候要做的事情 。。。。 elif 要判断的条件2: 条件2成立的时候要做的事情 。。。。 else: 条件不成立时候要做的事情 !!!elif与else不能单独使用,必须联合if才能使用 二.练习 #练习1 if语句 &quot;&quot;&quot; # _*_ coding:utf...
python(if语句)
1. “”&quot; if 要判断的条件: 条件成立的时候,要做的事 … “”&quot; #1.定义一个整数变量 #age = 18 age = 12 #2.判断是否满18岁 if age &amp;gt;= 18: print(‘欢迎来酒吧’) print(’~~~~~~~~~~’) 2. #age = 12 age = 19 #2.判断是否满18岁 if age &amp;gt;= 18: print(‘你已经成年,欢迎来酒...
python之if语句
1.条件测试: 每条 if 语句的核心都是一个值为 True 或 False 的表达式,这种表达式被称为条件测试。 Python根据条件测试的值为 True 还是 False 来决定是否执行 if 语句中的代码。 2.检查多个条件: 1.使用and检查多个条件。 要检查是否两个条件都为 True ,可使用关键字 and 将两个条件测试合而为一;如果每个测试都通过了,整个表达式就为 Tru
Python之 If语句
处理一些特定值 1.格式 if conditional_list(条件测试) : do something 2.条件测试 A.检查是否相等/不等: car=”aodi” car== /!= “aodi” //True /False B.是否相等时区分大小写 可用方法lower()来解决! C.比较数字 == &amp;gt; &amp;lt; ...
Python之if语句
简述编程时经常需检查一系列条件,并据此决定采取什么措施。在Python中,if语句让你能够检查程序当前的状态,并据此采取相应的措施。
Python:if语句
#!/usr/bin/python # coding=utf-8 # Filename:iftest.py num = 23 i = int(raw_input(&amp;quot;input a number: &amp;quot;)) if i == num: print 'right!' print 'have no prise' elif i &amp;amp;gt; num: print ...
python——if语句
if判断语句 if 判断语句的基本语法 if 要判断的条件: 条件成立时,要做的事情 注意:代码的缩进为一个 tab 键,或者四个空格(pycharm 自动帮我们增加) 在 python 开发中,Tab 和空格不要混用 判断语句演练一需求: 1.定义一个整数变量 2.判断是否满 18 岁(&amp;gt;=) 3.如果满 18 岁,允许进入网吧 总结: ...
python的if语句
a=[2,3,4] if a[0]>3: print("this is run") elif a[2]==4: print "this is four" else: print "no run" b=(1,2,3,4) if b[0]>2: print "this is one step" else: print "this is two step" #
Python——if语句
1.条件测试 每条 if 语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。如果条件测试的值为True,则执行紧跟在if语句后面的代码;如果为False,则忽略这些代码。 1.1检查是否相等 if car == 'bmw': 1.2检查是否相等时不区分大小写 如果大小写不重要,可以将变量的值转换为小写,再进行比较 if car.lower() == 'aud...
Python —if语句
 1. 华氏温度转摄氏温度 附加:双向转化  2.自己输入半径,过道3米宽25元一平米,围墙35.5元每米,围墙和过道造价,总价  3. 输入3条边长,能够三角形,输出周长面积 ,不行,报.开平方根  import math  math.sprt() 1. wd = float(input('请输入温度')) dw = input('请输入单位') a = 9 / 5 b = 32 if d...
if语句(python)
4.1 条件测试  #遍历一个列表,并以首字母大写的方式打印其中的汽车名,但对于汽车名'bmw',以全大写的方式打印 cars=['audi','bmw','subaru','toyota'] for car in cars: if car == 'bmw': print(car.upper()) else: print(car.title(...
python之IF语句
与大多数编程语言一样,python中的if语句中也需要一个条件表达式。如:     if 条件表达式:         statement 一.检查多个条件     1.1 使用and检查多个条件         相当于条件与,只有当两个条件同时满足即两个条件都为true时,才会执行statement中的语句。如:             if condition1 and condi...
Python 输出不换行
python 输出不换行 python 3的写法是: print(‘hello’, end=”)举个例子:>>> def clear(): print('hello ',end='') print('world') >>> clear() hello world
python 不换行输出
print默认换行输出, 今天看人家代码偶然发现一个不换行,且多重输出可以覆盖原输出的方法。print("/r已完成 {:.2f}%".format(i/100000), end = "") end = “”输出没有换行, /r 即是在原输出地方覆盖完整代码如下for i in range(1000000): print("/r已完成 {:.2f}%".form
Python 不换行输出
import sys for i in [1,2,3]: sys.stdout.write(str(i)+" ") # print(i,end=' ')
python不换行 输出
print(’\r当前速度 :{:.2f}%’.format(count * 100 / len(lst)), end=’’)
Python输出不换行
输出不换行:end='' i=1,j=1 print(i+j,end='') print('hello',end='') 输出结果: #输出结果 2hello  
python输出不换行
python输出不换行Python2的写法是:print 'hello',Python3的写法是:print('hello', end='')对于python2和python3都兼容的写法是:from __future__ import print_functionprint('hello', end='')
Python练习-Python之if语句
1. 输入用户年龄,根据年龄打印不同的内容 age = 10 if age &amp;gt;= 18: print 'you can see these movie' else: print &quot;you can not see these movie&quot; Python代码的缩进规则。具有相同缩进的代码被视为代码块,缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混...
在for循环里的if语句,不进入if语句
问题如题,我设定了一个条件,确定if为真,可是程序没有跑if里面的内容。rn请各位大神帮忙看一眼。rn#include rnrnint i;rnint Current_H;rnint H_State;rnrnrnint main()rnrnfor(i=0;i<50;i++)rn// Current_H = GET_Current();rn Current_H = 1800;rn if(Current_H >= 3500 && Current_H <= 2500)rn H_State = 1 ;rn rn rn printf("%d\n", H_State);rn printf("%d\n", Current_H);rnrn
python print输出不自动换行
n = int(input()) for j in range(1,n+1): for i in range(1,j+1): print ('*',end=" ") print ('\n')
Python print 输出不换行
Python 版本 2.7 方法一 print “123”, print “456” 优点:方便 缺点:中间有间隔 方法二 from future import print_function print(‘123123’, end=”)
python print 不输出换行符
python2:   在print末尾添加逗号即可 print 'string',   eg: print "this is tree",  python3 : print('string',end=' ')
python输出不自动换行格式
python输出不自动换行格式:for k in range(5): print(k,'\t',end='')
(2)Python——逻辑运算符和if语句
1.条件判断 if 要判断的条件: 条件成立时,要做的事 age = 18 if age &gt;= 18: print('你已经成年了') age = 12 if age &gt;= 18: print('你已经成年.') else: print('你未满18岁') 2.if语句嵌套 if 要判断的条件: 条件成立时,要做的事...
python中的if语句
单分支的if语句 if 要判断的条件:    条件成立的时候,要做的事情        ..... if age &amp;gt;= 18: print '你已经成年' if 要判断的条件:    条件成立的时候,要做的事情         ..... else:    条件不成立的时候,要做的事情         ..... if和else语句以及各自的缩进部分都是一个完整...
Python基础五之if语句
在介绍if语句之前,我们先要明确两个关键字:true和false。 在python 中,标准值false和none、各种类型(包括复数、浮点数等)的数值0,空序列(如:空字符串、空元组、空列表)以及空映射(如空字典)都被视为假,而其他各种值都被视为真,包括特殊值True. 1、if语句。 num=int(input(&quot;请输入一个数:&quot;)) if num&amp;gt;0: print(&quot;你...
python 第五章节 if语句
1. if 判断 在python中检查是否相等时区分大小写。如果不想区分大小写,可以先转换成相同的(大写或者小写)后再比较。 2. 检查多个条件 and 3.使用 or 检查多个条件 4.检查特定的值是否包含在列表中  in  5.检查特定的值是否不包含在列表中 not in 6.if-else语句        if 判断条件:               else:      ...
Python学习小结---if语句
if语句 顾名思义,该语句为判断语句,先来一个简单的示例 ```python cars=['audi','bmw','subaru',toyota] for car in cars: if car == 'audi': print(car.upper) else: print(car.tit...
Python学习笔记之if语句(二)
1、简单的if语句,很简单,示例代码如下: #if语句 sex = 'male'; if sex == 'male': print(&quot;你是男的,不是虚胖是强壮,哈哈!&quot;); 运行后如下图所示: 2、if-else语句,在if里面条件测试成功的时候,执行if后面的相关操作,否则就执行else后面的操作,具体示例代码如下: #if-else语句 age = 18; if a...
python初学笔记:if语句
Python中的条件语句与我之前学过的C,C++很相像,在Python里用 and 代替了&amp;&amp;(与运算符),用or代替了||(或运算符),而其他比较运算符如&gt;,&lt;,=,&gt;=,&lt;=,==,!=的用法和意义与C一致。在使用Python的if语句时,要注意冒号和缩进。最简单的if语句为 if 条件测试: 要执行的内容 如: a=5 if...
python——if语句、逻辑运算符号
1.if条件判断语句: if 要判断的条件(True): 条件成立的时候,要做的事情 elif 要判断的条件(True): .... elif 要判断的条件(True): .... else: 条件不成立的时候要做的事情 示例: 判断学生分数等级: 100——90(包括90):A 90——80:B 80——70:C 70——0:D score = int(inpu...
python学习笔记-if语句
(1)条件测试。一个等号是陈述,两个等号是发问。 (2)函数lower()是不会修改存储在变量中的值,只是临时改变。 (3)检查多个条件时,可以使用and或者or。 (4)检查特定值是否包含在列表中可以使用in。 (5)检查特定值是否不包含在列表中使用not in。 (6)在使用if语句时,第一行可以包含任何条件测试,紧跟在测试后面 的代码需要缩进,如果if条件测试为TRUE...
python中if语句的使用
if的使用 01. “”" if 要判断的条件: 条件成立时,要做的事 “”" age = int(input('请输入年龄')) if age &gt;= 18: print('你已经成年') ## 条件成立时 print('~~~~~~~~~~~~~~~') ##条件不成立也可以做的 02. “”" if 要判断的条件: 条件成立时,要做的事 else 条件不成立时,要做的...
Python学习笔记——if语句
本章节的内容较少,且python中条件语句的使用较为简单,故在此仅挑选了两大道较有代表性的练习题。import random as r #使用random模块,用于生成随机数 age=r.randint(0,100) #5-6 if-elif-else语句的应用——根据年龄输出不同语句,这里生成了0-100的随机整数 print('age:',end='') print(age) if ag...
python if语句 学习总结
一、if 语句表示方式if 条件:    print('ok')elif 条件:    print('elif表示并行判断')else:    print('error')在这里 if 后面要加一个冒号,而且下面要用tab键(代指4个空格)给if之后的代码一个缩进,我们把这些代码叫做“代码块”这里的代码块告诉我们if条件成立了以后要执行之后那个代码块的东西要注意的是,同一个代码块里的好几行代码都要...
Python第一天(python安装+if语句)
一.python源码编译安装 #安装平台 (建议先在虚拟机上下载及安装成功后,再将软件拷贝到真机上) Linux -官网下载安装包 Python-3.6.6.tgz -解压安装包 tar zxf Python-3.6.6.tgz -安装编译过程需要的依赖性:gcc,zlib,zlib-devel,openssl-devel,readline,readline-devel yum install...
Python多分支if语句
注意:if语句代码是从上往下执行的,当执行到满足条件的语句时,代码会停止往下执行 注意:if语句后面要加上冒号 score = int (input("score:")) if score &gt; 90: print("A") elif score &gt; 80: print("B") elif score &gt; 70: print("C") elif score...
python基础复习之if语句
#if语句的基本形式: ''' if 判断条件: 执行语句…… else: 执行语句…… 备注:当判断条件成立(值为true)时,执行后面的语句; 当判断条件不成立时,执行else后面的语句。 ''' #if语句基本形式 #eval()函数是将字符串当成有效Python表达式来求值,并返回计算结果 my_score=eval(input("请输入你的成绩:")) i...
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数