允许用户输入他们想要选择的问题和他们想要完成的困难。
下面的代码是非常重复的,这意味着if和elif语句具有相同的编码,但在用户选择的选项和难度上有所不同。
那么,是否有一种方法可以缩短这段代码,因为重复相同的代码效率很低?
options = input("Choose 'a' for arithmetic or 'c' for computing: ")
diffCulty = input ("Choose 'e' for easy , 'm' for medium , 'h' for
我想知道是否有一种方法可以使这种类型的代码更简洁和自动化,这样我就不必一次又一次地重复elif语句。 ga是从1到我记录的任何秒数的累积秒数列表,我想将每小时与该小时各自的数据帧分开,有什么方法可以让这变得更简单吗? for i in range(len(ga)):
if ga[i]<=3600:
j.append(i)
elif ga[i]<=7200:
u.append(i)
elif ga[i]<=10800:
k.append(i)
elif ga[i]<=14400:
b.append(i)
elif ga[i]&l
我是python的新手。我需要重复循环,要求用户选择一个选项,然后运行命令并重复执行,直到用户选择退出。如果用户选择任何其他选项,程序必须不断要求他们选择一个值,直到他们选择一个正确的值。到目前为止,我的程序运行得并不是很好。如果可能的话,我想保持在时间和条件上。有人能帮上忙吗?非常感谢!
print """
How do you feel today?
1 = happy
2 = average
3 = sad
0 = exit program
"""
option = input("Please select one of the
这段代码本应生成一个表示问题的随机数。数字生成器生成从1到10的数字,但如果该数字不在数字列表"numlist"中,它将生成另一个数字。这是为了让程序不会重复问同样的问题。使用numlist.remove()无法达到此目的。什么能行得通?或者,什么是更好的方法。
另外,我想知道如何让它在代码中有更少的重复(循环?)
def roll():
var = random.randint(1,10)
if var not in numlist:
roll()
elif var == 1:
numlist.remove(1)
我想提取点A和B之间的所有文本,它在整个文本文档中重复X次,如下所示:
A
Line 1
Line 2
Line 3
Line 4
.
.
.
B
使用以下代码:
results = []
results = False
for line in lines:
line = line[1:-1]
if "B" in line:
results = False
elif results == True:
orbitals.append(line)
elif "A" in line:
哪一种方式是最好和更短的方式来编码这个,并最终得到一个像下面这样的结果,而不是这么长的方式我已经做了?我的数据是
df = pd.DataFrame({'ENG':[10,3,5,6,3],'KIS':[9,5,7,9,10],'BIO':[10,'',4,'',4]})
这是我的预期结果
ENG KIS BIO
B+ 9 10
D 5
C- 7 4
C 9
D 1 4
这就是我所编码的。
grade = []
目前,我正在使用熊猫编写一个python代码,通过减法读取和修改“用户时间”列中的数据。我正在读的csv文件有一个月的数据。在“用户时间”,所有时间数据都以一秒钟的间隔存储。值在1周后自动重复。但我想在一天后再重复一遍。因此,编写以下代码:
import pandas as pd
df = pd.read_csv('out.csv')
x = df['User Time']
if 86400 < x.any() and x.any() > 172800:
x = x - 86400
elif 172800 < x.any() and
例如,假设我有一堆这样的赋值语句:
if operator == '==':
if a == b:
c += 5
elif operator == '>':
if a > b:
c += 5
elif operator == '<':
if a < b:
c += 5
我给出的if嵌套的if语句和赋值只是例子,但在我编写的程序中,它们真的很长。只是在操作符不同的地方出现了一个小变化,所以我不想一次又一次地重复相同的长段代码,只针对所有这些条件。有太多的条件和代码会
这是我的任务:
给定3个int值,a,b,c,返回它们的和。但是,如果其中任何一个值是青少年--在13.19的范围内--那么这个值就等于0,除了15和16以外,不要算成青少年。编写一个单独的助手"def fix_teen(N)“,它接受一个int值,并返回为青少年规则修正的值。这样,您可以避免重复青少年代码3次(即“分解”)。在下面和与主no_teen_sum()相同的缩进级别上定义助手。
以下是我唯一能想到的解决方案:
excep = [13,14,17,18,19]
def no_teen_sum(a, b, c):
if a in excep and b in ex
这是我在StackOverflow上的第一篇文章,所以如果我做错了什么,请告诉我。这款名为“牛和公牛”的游戏类似于一款名为Mastermind 的游戏。本质上,你必须猜出四位数的代码,而不给出任何重复的数字。我所犯的错误是,当我到达名为“检查重复数的代码”的部分时,如果随机代码中有重复,它将在while语句处进入一个无限循环。有人能帮我吗?
import random
def main():
bulls=0 #Correct Number in Correct Position
cows=0 #Correct Number in Wrong Position
CODE=
有什么办法可以简化这个函数吗?我发现很多这些都是重复的,但我很难想出一种方法让它变得更轻柔或更干净。相对较新的python,所以我希望有任何建议。
def colorize(n):
if n in range(0, 10):
return selection[-1]
elif n in range(10, 20):
return selection[-2]
elif n in range(20, 30):
return selection[-3]
elif n in range(30, 40):
r
给定以下语句:
2个玩家各有100HP
它们都可以使用-2HP、-5HP或-7HP攻击
他们可以连续攻击无限次。
当玩家的HP为<= 0时,他会输掉比赛
我需要找出玩家A战胜玩家B的情况的数量。
到目前为止,我的代码如下:
import itertools
win = 0
for j in itertools.product(range(1, 7), repeat=100):
a = 100
b = 100
for i in j:
if (i == 1):
b -= 2
elif (i == 2):
我的目标是让用户在I和V之间输入两个罗马数字,并将它们相加。我想用十进制值和它们的罗马数字等效值来显示方程。
然而,当我放置I和V以外的值时,该值被赋值为'NoneType',并且程序失败。我尝试将返回值设置为num_value (),然后调用int(),设置roman num is '':str=#,最后返回str(),但都没有成功。
我认为我遗漏了一些非常基本的东西,这与区分具有重复字符的值有关,例如'I‘(这是可以的)和'II’,它被赋值为NoneType。
firstNumeral = input("please enter a
想知道是否有一种方法可以让python接受输入语句中的"save“或"s”,以便每次在.py文件中的if/elif/else中输入“保存”或“s”,所以我不必重复if /elif/ get几次。我想要这样的东西
a=input("some other question that i want to accept s/save: ")
b=input("Again but i dont want 2 if statments: ")
而不是。
a=input("question: ")
if a == "y":
我已经创建了一个模块,它应该使用特定的替换来删除重复的字符,这取决于字符重复的次数。例如,如果"a“重复了4次,则将"a”替换为“equal”,这两个值都等于1字节。我遇到的问题是,当文件大小超过30 in左右时,当我完成模块运行时,它的字节大小是如何增加的。我尝试了几个单词计数程序,显然它增加了更多的字符,我只是无法修复我的代码。我尝试了一些方法,并希望得到一些帮助或想法,它是如何增加字节。
from itertools import groupby
with open("LICENSE.txt","r", encoding='utf
这段代码应该按照执行顺序做一些重要的事情:
1.打开并读取文件"Goods“
2.将文件"Goods“中的任意一行分配给字典"goods”
3.遍历if块,该代码块将为字典"cost“分配一个随机值,前提是goodsx等于要比较的字符串。
4.打印“货物”和“成本”
5.重复步骤2-4,再重复2次。
from random import randint
print("You search for things to buy in the market, and find:")
f = open('Goods', 'r
这是一个基本的测试程序,允许用户回答有关主题的问题,并为该主题选择困难。
正如您所看到的,编码本身非常长,因此可能会花费大量时间,因为由于if和elif语句,代码本质上重复了自己。有浓缩这段代码的方法吗?
choices = input ("Choose 'c' for capital city's or 's' for songs:")
mode = input ("Choose 'e' for easy , 'm' for medium , 'h' for hard: "
我正在尝试让用户在主菜单中开始,输入命令,然后返回主菜单并重复,直到他们完成。所以我写了这个: #mainmenu loop
def main():
while True:
print("welcome to the store. what do you wanna do?"
"\n here are all the commands. enter a number to output. enjoy!"
"\n 1: view your shopping list"
下面是我的简单随机化模块中的内容
from random import randint
def randomnumget():
randomnumber=randint(1,10)
return randomnumber
然后我有我的文字冒险/小游戏,其中包括测试随机数是什么代码。(我知道它是重复的,这可能意味着我以后需要重构)
class charactercreator:
def characterget(self, randomnumber):
if randomnumber==1:
print'your hero
首先,我为这个糟糕的头衔感到抱歉,但我不知道什么才是合适的。我正在为下面的块寻找一个更好的语法,这样我就不会重复自己了。
self.rulerMajorTickLabel和self.rulerMinorTickLabel可以是真值,也可以是假
self.rulerMajorTickWidth和self.rulerMinorTickWidth只能是一个正浮点数。
如果self.rulerMajorTickLabel和self.rulerMinorTickLabel: if self.rulerMajorTickWidth > self.rulerMinorTickWidth: ha
有办法减少这个代码吗?它会自我重复,但我无法找到任何方法来减少它,因为它只是在一个elif中重复。对不起,我是个初学者,我的代码很糟糕,它在这里重复:
onze(joueurs)
print("joueur", a + 1, "a", joueurs[a])
time.sleep(1)
while sum(joueurs[a]) < 21 or 11 in joueurs[a]:
守则:
while t:
input("Appuyez sur entr
到目前为止我所拥有的是
import random
def go():
rounds = 0
while rounds < 5:
number = random.randint(1, 5)
if number == 1:
print('a')
elif number == 2:
print('b')
elif number == 3:
print('c')
elif numb
我是编程新手,所以我正在尝试创建一个石头布剪刀游戏。我几乎完成了游戏,但当用户和计算机输入相同的数字时,我希望程序重复执行,直到其中一名玩家获胜。我该怎么做呢?任何帮助都是非常感谢的。这是我的代码。 game = input("Want to play Rock Paper Scissors? (Y/N) ")
if game == "Y":
print("1 = Rock, 2 = Paper, 3 = Scissors")
print('')
user = int(input("You have one
我现在并不擅长编码,我正在努力改进和学习。自动取款机,我试图写一个代码,随机选择6个不重复的数字,但我失败了。我该怎么办?
import random
a = random.randint(1, 100)
b = random.randint(1, 100)
c = random.randint(1, 100)
x = random.randint(1, 100)
y = random.randint(1, 100)
z = random.randint(1, 100)
outa = b, c, x, y, z
outb = a, c, x, y, z
outc = a, b, x, y,